Storing user search keywords I need to store search keywords in a database to analyse user needs.
How efficient should my schema be?

I'm thinking like this:

CREATE TABLE SearchKeyword (
 ID         INTEGER        PRIMARY KEY AUTOINCREMENT NOT NULL,
 UserID     INTEGER,         
 SearchKey  VARCHAR( 255 ) NOT NULL,
 Date       TIMESTAMP      NOT NULL
); 


But with this, the table will grow. Any suggestions for improvements?
If the keys repeat frequently, create a second table

CREATE TABLE Key_tbl (key_id INT, key VARCHAR(&lt;&gt;))


and reference the first table with this, while inserting just look up the key and insert the key_id in SearchKeyword