我有80,000個客戶,有4個組。現在我想查找2組用戶在mysql中查詢。我的查詢是象下面這樣:通過查詢進行排序花費的時間太長
select c.customers_firstname as recipient_firstname,
c.customers_lastname as recipient_lastname,
c.customers_id as recipient_id,
c.customers_email_address as recipient_email_address
from customers c
where customers_group_id = '1' OR customers_group_id = '3'
當我運行在phpMyAdmin此查詢我得到的結果是:顯示行0 - 29(59815總計,查詢花費0.0034秒)
但是,當我加入順序在此查詢結果的時間ORDER BY recipient_firstname ASC
:顯示行0 - 29(59815總計,查詢花費0.2607秒)
順序通過查詢花費太多時間的結果。
我想通過查詢減少訂單的時間。
如果還有其他方法可以在較短時間內獲得相同結果,請幫助。
在'recipient_firstname'字段創建一個索引。另外,試一下:'where customers_group_id IN(1,3)' – hjpotter92
好吧,和往常一樣,在針對mysql執行特定查詢時遇到問題:嘗試使用mysql中的'explain'功能!它告訴你問題在哪裏! – arkascha