2016-04-22 9 views
0

Aufgrund BigData möchte ich Match anstelle von wie verwenden. Meine Spalte ist VOLL INDEXIERT. Was ist die Alternative dieser Abfrage in Übereinstimmung mit.Mysql: Spiel gegen Abfrage

MySQL Query ist:

select count(*) from keywords where sb_keyword like 'a%' 

Antwort

0

Ist das genau das, was die Abfrage?

select count(*) from keywords where sb_keyword like 'a%' 

Das sollte von INDEX(sb_keyword) profitieren. Ein FULLTEXT Index ist für diese Abfrage weder praktisch noch unter Verwendung von WHERE MATCH(sb_keyword) AGAINST(+a* IN BOOLEAN MODE) indexierbar.

Es wird einige Zeit dauern, alle Werte zu durchlaufen, die mit a beginnen, um sie zu zählen. Der von mir vorgeschlagene Index hilft, weil der Index (normalerweise) kleiner ist als der gesamte Datensatz, da weniger Spalten vorhanden sind.

+0

WHERE MATCH (sb_keyword) GEGRÜNDET (+ a * IN BOOLEAN MODE) zeigt einen Fehler an –