我在优化 MySQL 查询时遇到问题,但到目前为止,提取限制为 500 条记录的简单结果需要很长时间。
我的查询是这样的:
SELECT ou.*, gr.accepted, gr.value
FROM offer_usermeta ou
LEFT JOIN gateway_requests AS gr ON ou.customer_id = gr.customer_id
WHERE ou.customer_id != ""
AND ou.created >= '2012-10-08 00:00:00'
AND ou.created <= '2012-10-08 23:59:59'
ORDER BY ou.created DESC LIMIT 500
此查询需要一分钟来迭代可能超过 40,000 条记录。我需要它根据客户 ID 提取网关响应(如果有),并且此查询的数据看起来正确,但我需要优化技巧。我正在考虑单独提取数据并在必要时将它们组合在一起,但我知道这可能会慢得多......
有小费吗?(如果有人也知道其中的花哨技巧,我正在使用codeigniter)