我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > MySQL星空(中国) > Datetime类型字段上的索引和记录条数有关吗?
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

Datetime类型字段上的索引和记录条数有关吗?

53浏览 / 1回复

wiyipi

wiyipi

2
精华
138
帖子

等  级:Lv.5
经  验:3341
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:
  • 注  册:2008-03-18
  • 登  录:2009-06-29
发表于 2009-05-18 16:56:26
电梯直达 确定
楼主
report 表索引字段 calldate(datetime)

查询1:
explain SELECT * FROM report WHERE calldate >= '2009-04-09 00:00:00';

+----+-------------+----------+------+---------------+------+---------+------+--------+-------------+
| id | select_type | table    | type | possible_keys | key  | key_len | ref  | rows   | Extra       |
+----+-------------+----------+------+---------------+------+---------+------+--------+-------------+
|  1 | SIMPLE      | report  | ALL  | calldate      | NULL | NULL    | NULL | 128305 | Using where |
+----+-------------+----------+------+---------------+------+---------+------+--------+-------------+
1 row in set (0.00 sec)

查询2:
explain SELECT * FROM report  WHERE calldate >= '2009-04-10 00:00:00';

+----+-------------+----------+-------+---------------+----------+---------+------+-------+-------------+
| id | select_type | table    | type  | possible_keys | key      | key_len | ref  | rows  | Extra       |
+----+-------------+----------+-------+---------------+----------+---------+------+-------+-------------+
|  1 | SIMPLE      | report  | range | calldate      | calldate | 8       | NULL | 23029 | Using where |
+----+-------------+----------+-------+---------------+----------+---------+------+-------+-------------+
1 row in set (0.00 sec)


为什么两个时间字段的范围不一样就导致了索引的使用


精华

帖子

等  级:Lv.1
经  验:30
发表于 2009-05-18 16:56:57 1楼
我把2008-04-09以前的数据删除,发现记录在2009-04-17是个界限,这个真的头一次碰到很郁闷的事。。
高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表