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億行あります。最初に1日ごとに、次にCheckTypeの値(0、1、2、3のいずれか)ごとに分割したいと思います。または、少なくとも、私はそうだと思います-それが私をここに連れてきた理由です-私が尋ねているのは、私が説明したことは可能ですか、そして次に、もしそうなら、それは健全な考えですか? チェックの種類ごとに 1 日を表示するレポートが迅速に表示されるようにしようとしていますが、たとえば 30 日分のデータの履歴データをまだ表示できるようにしています。これを読んでくれてありがとう。

4

1 に答える 1

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 |
于 2012-10-18T14:58:56.550 に答える