我在运行5.5.24的Linux Mysql服务器上有一个表,如下所示:
CREATE TABLE Level (
snr float DEFAULT NULL,
checkDate datetime DEFAULT NULL,
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
checkTs int(11) DEFAULT NULL,
CheckType tinyint(11) NOT NULL DEFAULT '0',
PRIMARY KEY (id),
UNIQUE KEY LevelIndex (checkDate,snr),
KEY checkDateIndex (checkDate),
KEY CheckTypeDate (checkTs,CheckType)
) ENGINE=InnoDB AUTO_INCREMENT=5290273472 DEFAULT CHARSET=latin1
它有大约4亿行 - 我想把它分开,首先是一天,然后是CheckType的值(它是0,1,2,3)。或者,至少,我认为我做了 - 这就是我带来了什么 - 我要问的是,我解释的是可能的,然后,如果是的话,这是一个好主意吗?我试图让它如此报告,对于每种检查类型来说,查看一天都很快,但我有历史数据,比如,30天的数据可供查看静止。感谢您抽时间阅读。
答案 0 :(得分:0)
从dbGreen.Level中选择snr,checkDate,CheckType,其中checkDate> ='2012-10-14'和checkDate< “2012年10月15日”; 生成每日报告
+------+---------------------+----------------+
| snr | checkDate | CheckType |
+------+---------------------+----------------+
| 38 | 2012-10-14 19:33:01 | 2 |
| 37.9 | 2012-10-14 19:33:01 | 1 |
| 44.9 | 2012-10-14 19:33:01 | 2 |
| 35.6 | 2012-10-14 19:33:01 | 2 |
| 37.3 | 2012-10-14 19:33:01 | 2 |
| 37.6 | 2012-10-14 19:33:01 | 2 |
| 37.5 | 2012-10-14 19:33:01 | 2 |
| 37.8 | 2012-10-14 19:33:01 | 1 |
| 35.8 | 2012-10-14 19:33:01 | 1 |
| 39.6 | 2012-10-14 19:33:01 | 2 |