【发布时间】:2010-09-10 20:17:21
【问题描述】:
如何在 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 用于保存交易发生时的日期和时间
My Table 中有超过 1,000,000 条记录和语句
SELECT * FROM transactionlist where date(TranDateTime) = '2008-08-17'
需要很长时间。
编辑:
【问题讨论】:
-
对您建议查看的链接的警告评论:这篇文章写得如此激动和愤怒,几乎到了幼稚的地步。并且作者没有回击任何批评,同时仍然提到他支持他所说的,但他的观点却随着每一个而变得微不足道。但是,如果您阅读 cmets,也不会浪费时间。
标签: mysql