mysql [InnoDB エンジン]インデックスを使用していますが、クエリの応答は依然として非常に遅いです (応答時間が長い):
ここで勉強したMySqlでの全文検索
Mysql のデフォルトの innoDB ストレージ エンジン テーブルには実装できません。
ユーザーが都市名を入力すると、クエリがCity, Country
名前の形式を取得する自動提案を作成しました。
$search = $_GET['term'];
mysql_query("CREATE INDEX index_plc ON projects(pro_loc_city)");
$result = mysql_query("SELECT CONCAT_WS(', ', p.pro_loc_city, c.country_name)
as location FROM projects p
LEFT JOIN countries c ON c.country_id = p.country_id
WHERE p.pro_loc_city LIKE '%$search%'
GROUP BY p.country_id") or die('Something went wrong');
mysql_query("DROP INDEX index_plc ON projects");
firebug では、応答時間は約 5 ~ 3 秒です。
プロジェクト表
----------------------------------
pro_id | pro_loc_city | country_id
----------------------------------
1 Karachi 50
2 Lahore 60
3 Karachi 50
4 Abc 70
5 Karachi 50
国
-------------------------
country_id | country_name
-------------------------
50 Pakistan
60 A Country
70 B Country
これは Firebug が言っていることです。
私が間違っていることを教えてください。