我有一个优化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的网关响应,则需要使用此查询将其拉入数据并且数据看起来正确,但我需要优化建议。我正在考虑只是将数据单独提取出来,然后在必要时进行foreach合并,但我知道那样可能会更慢...
有什么技巧吗?(如果有人知道CodeIgniter中的花式技巧的话)