Domanda

Al momento dispone di una query nella nostra applicazione in questo modo:

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

Stiamo mettendo una colonna category_id su combos, e la query cambieremo a questo:

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

Al momento, c'è un indice su combos(text). Stiamo pensando di rimuoverlo e mettere uno sulla combos(category_id, text). Sarà mysql essere in grado di utilizzare il nuovo indice come ha fatto quello vecchio? Se la risposta è 'dipende', che cosa dipende? Dobbiamo mantenere quello vecchio nel caso in cui non può?

È stato utile?

Soluzione

a volte .... fintanto che non v'è alcuna condizione di gamma:

http://dev.mysql.com/ doc / refman / 5.5 / it / index-merge-optimization.html

si potrebbe essere migliore di con (text, category_id) - a seconda della distribuzione dei dati

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top