首页 新闻 会员 周边 捐助

什么是组合索引?

0
[已解决问题] 解决于 2008-09-22 12:54

什么是组合索引?如何创建组合索引?使用使用组合索引?

stewen的主页 stewen | 初学一级 | 园豆:14
提问于:2008-09-12 14:04
< >
分享
最佳答案
0

什么是组合索引?

基于多个字段而创建的索引就称为组合索引。

 

如何创建组合索引?

联机丛书中关于CREATE INDEX语句的说明很详细,可以看看。如果是要通过企业管理器的话,你可以选中那些需要用来创建组合索引的字段,然后点一下工具栏中的那把“金钥匙”。

 

如何使用组合索引?

这个问题实际上就是所谓的索引覆盖了。组合索引是有顺序的(不是升序降序,而是多个字段的先后顺序),你的WHERE字句中的条件如果含有该组合索引从左到右的全部或部分字段的话,就算是覆盖上了。全覆盖自然好,不过也不是必须的,而且跟查询速度也没有必然的关系。

 

另外,顺便多说两句。

1. WHERE子句中各条件的顺序不必跟组合索引中个字段的一致,只是人为写成一致的话要放心一些罢了,毕竟保不准查询优化器什么时候发点神经。

2. 组合索引的非完全覆盖可不一定比单字段索引慢哦,说不定还更快呢。这里引申出一句话:数据库性能优化不是教条式的。

电机拖动 | 小虾三级 |园豆:1295 | 2008-09-17 20:20
其他回答(3)
0

多个字段组合成索引,可以加快你的检索数据,当然,你的检索条件必须是这个字段,不然没效果

如你组合2个字段为组合索引 ,A 和 B,

那你检索时  where A=@a and B=@b 那你的检索速度会提高

创建方法网上找找,我这里只给你简单介绍:)

zjy | 园豆:3194 (老鸟四级) | 2008-09-12 15:00
0

组合索引的英文名叫Composite Index

dudu | 园豆:29570 (高人七级) | 2012-03-08 14:03
0
artwl | 园豆:16736 (专家六级) | 2012-03-08 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册