嘿家伙。这是从这个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