嘿傢伙。這是從這個question:慢查詢 - 優化幫助
後得到正確的數據,並根據企業的要求作出一些調整後,我現在已經得到了我的手這個小型野獸。該查詢應該返回的新求職者登記總數和新上傳的簡歷數量:
SELECT COUNT(j.jobseeker_id) as new_registrations,
(
SELECT
COUNT(c.cv_id)
FROM
tb_cv as c, tb_jobseeker, tb_industry
WHERE
UNIX_TIMESTAMP(c.created_at) >= '1241125200'
AND
UNIX_TIMESTAMP(c.created_at) <= '1243717200'
AND
tb_jobseeker.industry_id = tb_industry.industry_id
)
AS uploaded_cvs
FROM
tb_jobseeker as j, tb_industry as i
WHERE
j.created_at BETWEEN '2009-05-01' AND '2009-05-31'
AND
i.industry_id = j.industry_id
GROUP BY i.description, MONTH(j.created_at)
注: - 在傳遞中從報告模塊參數Unix時間戳功能,這兩個值我們的後端。我每次運行它時,MySQL都會窒息並無聲無息地進入Interweb的以太網。
幫助表示讚賞。
更新:嘿傢伙。非常感謝所有周到和有益的評論。我在這裏只有2周的時間,所以我仍然在學習模式。所以,這個查詢是在一個縮略圖和一個受過教育的猜測之間。現在開始回答你所有的問題。
您必須提供一些有關此查詢中涉及的表的信息......哪些列具有索引等? ...另外,你能否將查詢變得更友好些? – jerryjvl 2009-06-05 07:37:21
你想做什麼?如果您需要優化幫助,您需要爲我們提供您正在使用的模式和索引。 – NicDumZ 2009-06-05 07:37:45