Pregunta

Actualmente tiene una consulta en nuestra aplicación como esta:

SELECT * FROM combos WHERE text = '[text]'

Estamos poniendo una columna category_id en combos, y la consulta a cambiar a lo siguiente:

SELECT * FROM combos WHERE category_id in ([c1],[c2],[...]) AND text = '[text]'

En estos momentos, hay un índice en combos(text). Estamos pensando en quitarlo y poner uno en combos(category_id, text). MySQL será capaz de utilizar el nuevo índice, como lo hizo el viejo? Si la respuesta es 'depende', ¿qué depende? ¿Hay que mantener la anterior en caso de que no se puede?

¿Fue útil?

Solución

a veces ...., siempre y cuando no hay ninguna condición rango:

http://dev.mysql.com/ doc / RefMan / 5.5 / es / index-merge-optimization.html

que podría ser mejor con (text, category_id) - dependiendo de la distribución de datos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top