我使用的MySQL [InnoDB引擎]指数,但查询响应仍然很慢(高响应时间):MySQL的:使用索引,但仍然十分缓慢
我在这里学习Full Text Search In 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");
在萤火虫中,响应时间约为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
这是萤火虫说什么。
请指导我什么,我做错了。
在大型表上创建索引是一项昂贵的操作。在大多数情况下,索引是留在那里的。创建一个,执行一个查询并将其删除 - 无助于速度。尝试创建索引,留下并重新查询:) – favoretti 2012-08-04 15:59:35
在萤火虫?解释计划怎么样? – Samson 2012-08-04 15:59:36
@favoretti:你的评论应该是一个答案。 – 2012-08-04 16:10:42