简单的MySQL选择花费太多时间

时间:2015-08-10 07:02:38

标签: mysql sql performance select count

我有以下简单查询,但是花了太多时间(.5秒/半秒),我无法找到原因。我想提高搜索的性能。

标题

VARCHAR(50),Collat​​ion = latin1_general_ci,允许NULL,MySQL引擎:MyISAM

产品表中的记录数:163129

CATID

外键(int)来自类别表

我已经尝试过这个Optimize语句

OPTIMIZE table Product

这是简单的查询。

SELECT COUNT(*)
FROM 
Product
WHERE 
CatID=123 
AND Title = 'abc xyz'

请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:2)

花费更多时间意味着表格没有正确编入索引并且可能正在进行全表扫描。

对于此特定查询,覆盖索引将非常有用

alter table Product add index cat_title_idx(CatID,Title);

确保在应用索引之前备份表。