私は次のように私が作成したインデックスがあるインデックスMySQLデータベースインデックスのパフォーマンスの問題
にしようとしているデータベースがあります。
CREATE INDEX <name> ON geoplanet_places(name(15));
私は次のクエリを実行すると:
SELECT * FROM geoplanet_places WHERE name LIKE "vancouver%";
を
結果は1秒未満で返されます
このクエリを実行すると、 al '%'ワイルドカード):
SELECT * FROM geoplanet_places WHERE name LIKE "%vancouver%";
結果の戻り時間が大幅に増加し、時には9秒以上でクロックインすることがあります。これは、データベースが索引付けされるまでに要した時間とほぼ同じです。
データベースには500万件を超えるレコードがありますが、なぜそれが減速しているのか理解しています。私が知りたいのは、MySQLでこのような巨大なパフォーマンスを達成することなく、名前の前にワイルドカードを実行することがあればです。
ありがとうございます。
完全に動作します、おかげさまで助けてください! – ThreadedLemon