Hola,
Estoy teniendo problemas en un foro basado en vBulletin con unos 400.000 mensajes almacenados en tablas InnoDB, la base de datos en total ocupa unos 500MB. Todas las tablas son del tipo InnoDB excepto una que no puedo convertirla al utilizar un indice FULLTEXT (al menos ese fue el error que me dio al intentar convertirla).
He activado el log para consultas lentas y veo que se repite con mucha frecuencia una con este formato:
# Time: 061008 12:20:45
# User@Host: foro[foro] @ localhost []
# Query_time: 12 Lock_time: 0 Rows_sent: 1096 Rows_examined: 2192
SELECT
thread.threadid
FROM thread AS thread
INNER JOIN post AS post ON(thread.threadid = post.threadid )
WHERE MATCH(post.title, post.pagetext) AGAINST ('+movil' IN BOOLEAN MODE) AND post.visible = 1;
Esta no es de las consultas mas lentas, pero llegan a ser de hasta unos 20 segundos e incluso mas lentas todavía..
Buscando ayuda en los foros de soporte de vBulletin he encontrado un caso similar en el que la solución pasa por crear nuevos indices multicolumna:
http://www.vbulletin.com/forum/showthread.php?p=1043892
La consulta es similar pero los campos que intervienen son distintos por lo que no creo que me sirva el indice propuesto.
Pongo aqui los indices de las tablas que intervienen en la consulta:
http://santi.usansolo.net/tmp/vbulletin_indexes.txt
¿Viendo los indices existentes se os ocurre alguna forma de optimizar esos indices sabiendo que en el foro se utiliza mucho la opción de buscar? Muchas gracias :-)
Saludos,