Составной индекс FULLTEXT в MySQL

Я хотел бы сделать систему, которая позволяет искать сообщения пользователя, по конкретному пользователю. предположим, что у вас есть следующий стол

create table messages(
  user_id int,
  message nvarchar(500));

Итак, какой индекс мне следует использовать здесь, если я хочу найти все сообщения от пользователя 1, содержащие слово 'Foo».

простонеуникальный индексИдентификатор пользователя

Он будет фильтровать только определенные пользовательские сообщения и затем полностью сканировать определенное слово.ПОЛНЫЙ ТЕКСТ индекс насообщение

Это позволит найти все сообщения от всех пользователей, а затем отфильтровать их по идентификатору, что представляется очень неэффективным в случае большого количества пользователей.comopound индекс по обоимИдентификатор пользователя а такжесообщение

Таким образом, полнотекстовое дерево индексов создается для каждого пользователя отдельно, поэтому их можно искать по отдельности. Во время запроса система фильтрует сообщения поЯ БЫ а затем выполняет текстовый поиск по оставшимся строкам в индексе.

НАСКОЛЬКО МНЕ ИЗВЕСТНО. Последнее невозможно. Итак, я предполагаю, что я буду использовать 1-й вариант, он будет работать лучше в случае нескольких тысяч пользователей?

И если у каждого будет ~ 100 сообщений, полная итерация выиграетт стоит много ресурсов?

Возможно, я могу включить имя пользователя в сообщение и использовать режим полнотекстового поиска BOOLEAN, но я думаю, что это будет медленнее, чем при использовании индексированногоИдентификатор пользователя.

Ответы на вопрос(2)

Ваш ответ на вопрос