Mysql Subpartioning - 按日分区,然后是一个值

时间:2012-10-18 02:23:19

标签: mysql partitioning database-partitioning

我在运行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天的数据可供查看静止。感谢您抽时间阅读。

1 个答案:

答案 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 |