我有一个缓慢的MySQL SELECT查询,我似乎无法排除故障。缓慢的MySQL SELECT查询
这是一个简单的,在大约600,000条记录的表上。
SELECT *
FROM `civicrm_contact` contact
WHERE contact.external_identifier =123456
SELECT查询需要之间的任何地方3-6秒,这使导入另一个60万点的记录依赖于该查询,完全不切实际。
的表索引示于附加的图像:
如果我搜索基于contact.id = 123456则查询时间下降到约0.004s。 contact.id是表格上的主键。 external_identifier是唯一的索引。
你绝对需要'select *'吗? – nico 2012-04-23 16:23:36
不 - 我只是通过将其限制为SELECT id来测试它,但查询仍在1.5到2秒之间。所以它更好,但仍然太慢。 – bpmccain 2012-04-23 16:29:27
我正在7.5GB Amazon EC2大型实例上运行它。总数据库大小约为1GB,因此有大量内存。 – bpmccain 2012-04-23 16:33:17