MySQL Forums
Forum List  »  Spanish

Ayuda para crear/optimizar indices en un foro tipo vBulletin
Posted by: Santi Saez
Date: October 08, 2006 04:45AM

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,

Options: ReplyQuote


Subject
Views
Written By
Posted
Ayuda para crear/optimizar indices en un foro tipo vBulletin
4967
October 08, 2006 04:45AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.