1
由於某些原因,以下查詢在我的生產計算機上需要30秒,本地時間少於1秒。我比較了字符編碼,索引等MYSQL在生產中緩慢查詢但未開發
任何想法?
SELECT ct.*, c.first_name as customer_first_name, c.last_name as customer_last_name, c.company_id as company_id
FROM `communication_pieces`
JOIN contact c ON c.contact_id = communication_pieces.contact_id
JOIN customer_transactions ct ON ct.communication_piece_id = communication_pieces.id
JOIN campaign_iterations ci ON ci.id = communication_pieces.campaign_iteration_id
WHERE (communication_pieces.campaign_iteration_id = '1273')
AND (communication_pieces.status NOT IN ("undeliverable","not_delivered","address_rejected"))
ORDER BY ct.transacted_at ASC LIMIT 2000 OFFSET 0
我在做解釋時注意到的一件事是生產中的類型是ct表和ref在開發中的索引。我知道層級索引更糟糕,但是這可能是導致差異的原因?
返回多少數據?您的生產機器在網絡拓撲結構中位於何處?機器的規格是什麼?其他用戶是否使用生產機器?表被鎖定?太多未知數,你不可能從SO得到明確的答案。 –
也許您在開發機器上的數據較少。 –
數據庫中的數據完全相同,都返回相同數量的行。 – osman