TABLEユーザーユーザーテーブル構造。
mysql> desc User;
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| EMAIL_ID | varchar(250) | YES | | NULL | |
| IP_ADDRESS | varchar(255) | YES | | NULL | |
| CREATED_TIME | bigint(20) | YES | | NULL | |
+--------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
このテーブルには数百万の行が含まれており、日ごとに徐々に増加します。
目標:
To getting past 12 month's user details from this table .
最初に、12か月前に作成されたユーザーIDを取得します。私のクエリは次のようになります。
オプション1:
Select * from User where ID > `Account created before 12 months` .
オプション2:
Select * from User where CREATED_TIME > UNIX_TIMESTAMP(`2011-01-2011 00:00:00`)*1000;
これは詳細を取得するのに効率的です。そして、このクエリは監査目的で冗長に使用されます。