1

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

4

1 回答 1

0

select snr,checkDate,CheckType from dbGreen.Level where checkDate >= '2012-10-14' and checkDate < '2012-10-15'; produces daily report

+------+---------------------+----------------+
| 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 |
于 2012-10-18T14:58:56.550 回答