喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: 请助,我的索引为什么失效了?  
 
XOYO (XOYO)
新手上路
Rank: 1
初级会员



UID 64538
精华 0
积分 3
帖子 5
金钱 3 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-6-3
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
请助,我的索引为什么失效了?

我把example表的dateline项设为索引,查询常以">"某个值为条件进行,因为每次都需要批量操作,所以每次批量操作行的dateline项的值都是相同的值, 当每次以大于某个值为条件查询时,索引根本就没有起到作用,但如果用等于(=)为条件时,索引却正常了,请看例子

mysql> explain select * from dayincome where dateline=1149955004;
+-----------+------+---------------+----------+---------+-------+------+--------
-----+
| table     | type | possible_keys | key      | key_len | ref   | rows | Extra
     |
+-----------+------+---------------+----------+---------+-------+------+--------
-----+
| dayincome | ref  | dateline      | dateline |       4 | const |    3 | Using w
here |
+-----------+------+---------------+----------+---------+-------+------+--------
-----+
1 row in set (0.00 sec)

mysql> explain select * from dayincome where dateline>1149955004;
+-----------+------+---------------+------+---------+------+------+-------------
+
| table     | type | possible_keys | key  | key_len | ref  | rows | Extra
|
+-----------+------+---------------+------+---------+------+------+-------------
+
| dayincome | ALL  | dateline      | NULL |    NULL | NULL |   31 | Using where
|
+-----------+------+---------------+------+---------+------+------+-------------
+
1 row in set (0.00 sec)

  根据SQL语句优化的原则:"有大量重复值、且经常有范围查询( > ,< ,> =,< =)和order by、group by发生的列,可考虑建立群集索引" 但这个不针对mysql数据库啊,我查阅了mysql手册,上面提到散列(hash)索引,不知道有没有效果,没有试过,因为我的表用的默认MyISAM类型
2006-8-7 04:02 PM#1
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.021181 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP