具有时间戳结构的MySQL查询索引

具有时间戳结构的MySQL查询索引,mysql,indexing,Mysql,Indexing,我想知道在MySQL中存储与时间戳相关的用户查询的最佳方式是什么。假设我只有两个输入,一个用户的“查询”和“时间戳” 我可以用字段(id,query,count,timestamp\u list)创建一个MySQL表,其中: id是查询的唯一标识符, query是文本查询字符串, count是输入查询的(不断更新的)次数, timestamp\u list是一个长文本或包含查询搜索时间列表的内容 有没有更好的方法使用我不熟悉的索引来关联这些内容?似乎在长文本中存储时间戳列表是愚蠢的,但很容易;也

我想知道在MySQL中存储与时间戳相关的用户查询的最佳方式是什么。假设我只有两个输入,一个用户的“查询”和“时间戳”

我可以用字段(
id
query
count
timestamp\u list
)创建一个MySQL表,其中:

id
是查询的唯一标识符,
query
是文本查询字符串,
count
是输入查询的(不断更新的)次数,
timestamp\u list
是一个长文本或包含查询搜索时间列表的内容

有没有更好的方法使用我不熟悉的索引来关联这些内容?似乎在长文本中存储时间戳列表是愚蠢的,但很容易;也许我应该创建一个单独的表,如:

id

query\u id
(与第一个表中的
id
相关)
时间戳


我可以把结果和第一个表连接起来。有什么想法吗?谢谢

如果您需要在执行每个查询时记录时间戳,我建议您有两个表:

 tbl_queries
  - id       INT
  - query    VARCHAR

 tbl_queries_performed
  - id         INT AUTOINCREMENT
  - query_id   INT
  - timestamp  CURRENT_TIMESTAMP

每次要记录查询时,请检查它是否已在
tbl\u querys
中,然后在
tbl\u querys\u performed
中保存一个条目,分别使用查询id

如果需要在执行每个查询时记录时间戳,我建议您有两个表:

 tbl_queries
  - id       INT
  - query    VARCHAR

 tbl_queries_performed
  - id         INT AUTOINCREMENT
  - query_id   INT
  - timestamp  CURRENT_TIMESTAMP

每次您想要记录查询时,请检查它是否已经在
tbl\u querys
中,然后在
tbl\u querys\u执行的
中保存一个条目,并分别使用查询id

非常感谢!这就澄清了问题。非常感谢!这澄清了问题。