DATETIME 필드의 날짜 부분에 인덱스를 만들려면 어떻게해야합니까?MySQL의 DATETIME 필드의 날짜 부분에 인덱스를 만드는 방법
mysql> SHOW COLUMNS FROM transactionlist;
+-------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------+------+-----+---------+----------------+
| TransactionNumber | int(10) unsigned | NO | PRI | NULL | auto_increment |
| WagerId | int(11) | YES | MUL | 0 | |
| TranNum | int(11) | YES | MUL | 0 | |
| TranDateTime | datetime | NO | | NULL | |
| Amount | double | YES | | 0 | |
| Action | smallint(6) | YES | | 0 | |
| Uid | int(11) | YES | | 1 | |
| AuthId | int(11) | YES | | 1 | |
+-------------------+------------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)
TranDateTime은 내 표는 1,000,000 그것에 기록과 문이
SELECT * FROM transactionlist where date(TranDateTime) = '2008-08-17'
시간이 오래 걸립니다 발생으로 트랜잭션의 날짜와 시간을 저장하는 데 사용됩니다.
편집 :
는 " Why MySQL’s DATETIME can and should be avoided"
당신이 한 가지 제안 해 준 링크에 대한 경고문 :이 게시물은 유치함에 거의 접해있는 그런 흥분과 분노로 작성되었습니다. 그리고 작가는 비평을 뒤로 치지 않고 여전히 그가 말한 것을지지한다고 언급하면서도 그의 주장은 각자 날씬 해지고있다. 댓글을 읽는다면 여전히 시간 낭비가 아닙니다. – kommradHomer