SQL Server的複合索引學習【轉載】-Alibaba Cloud

本文介绍了SQL Server中单个索引与复合索引的概念,强调了窄索引优于宽索引的原则。复合索引在多列查询时能提高效率,但需注意查询条件顺序。同时建议根据查询需求创建索引,避免过多使用导致更新效率降低。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要
什麼是單一索引,什麼又是複合索引呢? 何時建立複合索引,複合索引又需要注意些什麼呢?本篇文章主要是對網上一些討論的總結。

一.概念

單一索引是指索引列為一列的情況,即建立索引的語句只實施在一列上。

使用者可以在多個列上建立索引,這種索引叫做複合索引(複合式索引)。複合索引的建立方法與建立單一索引的方法完全一樣。但複合索引在資料庫操作期間所需的開銷更小,可以代替多個單一索引。當表的行數遠遠大於索引鍵的數目時,使用這種方式可以明顯加快表的查詢速度。

同時有兩個概念叫做窄索引和寬索引,窄索引是指索引列為1-2列的索引,如果不特殊說明的話一般是指單一索引。寬索引也就是索引列超過2列的索引。

設計索引的一個重要原則就是能用窄索引不用寬索引,因為窄索引往往比複合式索引更有效。擁有更多的窄索引,將給最佳化程式提供更多的選擇餘地,這通常有助於提高效能。



二.使用

建立索引 
create index idx1 on table1(col1,col2,col3)  
查詢
select * from table1 where col1= A and col2= B and col3 = C

這時候查詢最佳化工具,不在掃描表了,而是直接的從索引中拿資料,因為索引中有這些資料,這叫覆蓋式查詢,這樣的查詢速度非常快。   

三.注意事項

1.何時是用複合索引
在where條件中欄位用索引,如果用多欄位就用複合索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值