Индексирование запросов MySQL со структурой меток времени - PullRequest
0 голосов
/ 20 мая 2009

Мне было интересно, как лучше всего хранить пользовательские запросы, связанные с метками времени в MySQL. Допустим, у меня есть только два входа: пользовательский «запрос» и «отметка времени» ...

Я мог бы создать таблицу MySQL с полями (id, query, count, timestamp_list), где:

id - уникальный идентификатор запроса,
query является литеральной строкой запроса,
count - это (постоянно ОБНОВЛЕНО) число раз, когда вводится запрос, и
timestamp_list - это LONGTEXT или что-то со списком раз, когда был выполнен запрос.

Есть ли лучший способ сопоставить их с помощью индексации, с которой я не знаком? Кажется, что хранить список меток времени в LONGTEXT глупо, но легко; возможно, мне следует создать отдельную таблицу, например:

id
query_id (соответствует id в первой таблице)
timestamp

И я могу объединить результаты с первой таблицей. Какие-нибудь мысли? Спасибо!

1 Ответ

3 голосов
/ 20 мая 2009

Если вам нужно записать временную метку при выполнении каждого запроса, я бы предложил вам две таблицы:

 tbl_queries
  - id       INT
  - query    VARCHAR

 tbl_queries_performed
  - id         INT AUTOINCREMENT
  - query_id   INT
  - timestamp  CURRENT_TIMESTAMP

Каждый раз, когда вы хотите записать запрос, проверьте, находится ли он уже в tbl_queries, а затем сохраните запись в tbl_queries_performed с параметром query_id соответственно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...