【发布时间】:2009-11-08 06:08:47
【问题描述】:
这是查询:
SELECT
count(id) AS count
FROM `numbers`
GROUP BY
MONTH(created_at),
YEAR(created_at)
ORDER BY
YEAR(created_at),
MONTH(created_at)
在执行 EXPLAIN 时,该查询会引发“使用临时”和“使用文件排序”。
最终我要做的是查看用户提交的跟踪号码表,并计算提交的行数,然后按月/年对计数进行分组。
即。 2008 年 11 月有 11,312 行提交。
更新,这是 numbers 表的 DESCRIBE。
id int(11) NO PRI NULL auto_increment
tracking varchar(255) YES NULL
service varchar(255) YES NULL
notes text YES NULL
user_id int(11) YES NULL
active tinyint(1) YES 1
deleted tinyint(1) YES 0
feed text YES NULL
status varchar(255) YES NULL
created_at datetime YES NULL
updated_at datetime YES NULL
scheduled_delivery date YES NULL
carrier_service varchar(255) YES NULL
【问题讨论】:
-
为什么要摆脱它们?
-
为
numbers发布DESCRIBE TABLE -
最终我试图让查询更快。现在它正在查询约 200,000 行并且需要约 500 毫秒。随着行数的增加,显然需要更长的时间。
标签: sql mysql database refactoring