Índice FULLTEXT compuesto en MySQL

Me gustaría hacer un sistema que permita buscar mensajes de usuario, por usuario específico. Supongamos que tiene la siguiente tabla

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

Entonces, ¿qué tipo de índice debo usar aquí, si quiero buscar todos los mensajes del usuario 1, que contengan la palabra 'foo'?

Sencillo, índice no únicouser_id
Filtrará solo los mensajes específicos del usuario y luego el análisis completo de una palabra específica.TEXTO COMPLETO índice enmensaje
Esto encontrará todos los mensajes de todos los usuarios y luego se filtrará por ID, parece ser muy ineficiente en caso de gran cantidad de usuarios.compuesto índice en ambosuser_id ymensaje
Por lo tanto, el árbol de índice de texto completo se crea para cada usuario por separado, de modo que se pueden buscar individualmente. Durante la consulta el sistema filtra los mensajes porCARNÉ DE IDENTIDAD y luego realiza una búsqueda de texto en las filas restantes en el índice.

HASTA DONDE SE. El último es imposible. Entonces supongo que usaré la primera opción. ¿Funcionará mejor en el caso de unos pocos miles de usuarios?

¿Y si cada uno tendrá ~ 100 mensajes, la iteración completa no costará muchos recursos?

Tal vez pueda incluir el nombre de usuario en el mensaje y usar el modo de búsqueda de texto completo de BOOLEAN, pero creo que sería más lento que usar indexadouser_id.

Respuestas a la pregunta(2)

Su respuesta a la pregunta