我有一個緩慢的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