免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2675 | 回复: 10
打印 上一主题 下一主题

诚心请教索引问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-23 20:22 |只看该作者 |倒序浏览
假设有表T,T中有4个字段a,b,c,d,并在T上建立索引: create index index_T on T ( a,b);那么请问下列情况下索引有效么:
1.select * from T where b=.... and a=...   (条件使用与索引定义顺序不同)
2.select * from T where a=....  
3.select * from T where a=... and b=... and c=...


本人初学,谢谢指教!

论坛徽章:
0
2 [报告]
发表于 2006-07-23 23:05 |只看该作者
都会用到索引,至于条件使用和索引定义顺序,一般informix会自动判断。

论坛徽章:
0
3 [报告]
发表于 2006-07-24 08:04 |只看该作者
用set explain on ;执行看输出。

论坛徽章:
0
4 [报告]
发表于 2006-07-24 15:14 |只看该作者
一般来说,where条件里面and顺序没有多大的关系,但是一般来说如果一个组合索引(A,B,C,D),A或A,B或A,B,C字段为条件查询,索引有效;如果是B或者B,C字段,则不能使用上索引

论坛徽章:
0
5 [报告]
发表于 2006-07-26 21:55 |只看该作者
怎么一楼和三楼的大大说的不一样啊?到底谁对啊?小弟在此跪求正解了 ORZ

论坛徽章:
0
6 [报告]
发表于 2006-07-26 22:09 |只看该作者
原帖由 niec2003 于 2006-7-26 21:55 发表
怎么一楼和三楼的大大说的不一样啊?到底谁对啊?小弟在此跪求正解了 ORZ


一楼和三楼的没有冲突,一楼回答了你举的例子,三楼回答的更详细。

论坛徽章:
0
7 [报告]
发表于 2006-07-27 17:08 |只看该作者
原帖由 wenlq 于 2006-7-24 08:04 发表
用set explain on ;执行看输出。


呵呵,自己动手求证呀。

论坛徽章:
0
8 [报告]
发表于 2006-07-27 20:38 |只看该作者
各位大大,set explain on的输出在哪里看啊?我在dbaccess里面使用方法如下:
set explain on;
select * from T where a=... ;
除了查询的结果,没有其它任何额外的输出啊?

论坛徽章:
0
9 [报告]
发表于 2006-07-28 09:31 |只看该作者
其实也不一定了,走不走索引还和你表的大小有关系.

论坛徽章:
0
10 [报告]
发表于 2006-07-29 00:08 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP