SQL Server—索引

作者 : 攻城狮 发布时间: 2023-03-11 共336人阅读

索引:提高检索查询效率。

一、【索引类型】

1、按存储结构分为:聚集索引、非聚集索引

(1)聚集索引:

根据数据行的键值在表或视图中的排序存储这些数据行,每个表只有一个聚集索引。聚集索引是一种对磁盘上实际数据重新组织以按指定的一列或多列值排序(类似字典中的拼音索引)(物理存储顺序)。

(2)非聚集索引:

具有独立于数据行的结构,包含非聚集索引键值,且每个键值项都有指向包含该键值的数据行的指针(类似字典中的偏旁部首索引)(逻辑存储顺序)。

2、按数据唯一性分为:唯一索引、非唯一索引

3、按键列个数分为:单列索引、多列素引

二、【创建索引的方式】

1、主动创建:通过create index命令

2、被动创建:在创建约束时作为隐含的对象

(1)主键约束(聚集索引)

(2)唯一约束(唯一索引)

创建索引的语法:

create [UNIQUE] [CLUSTERED | NONCLUSTERED]
index <index name> on <table or view name>(<column name> [ASC | DESC] [....n])

/*
unique:独一无二的 / 独特的 / 极不寻常的 / 属于特定的
clustered:成簇的 / 聚集成群的 / 立于方柱周围的
nonclustered:非群集化
*/

举例:给AccountInfo表中的AccountCode字段添加索引。

create unique nonclustered index index_code
on AccountInfo(AccountCode)
with
(
    ...   --参数
    ...   --参数
)

索引查看(保存在当前数据库的sys.indexes系统视图中)

select * from sys.indexes where name = 'index_code'

删除索引

drop index index_code on AccountInfo

按照指定索引进行查询

select * from AccountInfo with(index = index_code)
where AccountCode ='420107199507104133'

 

1.本站所有资源收集于互联网和用户上传,如有侵权请联系客服删除;
2.本站不保证所提供下载资源的准确性、安全性和完整性,请自行测试;
3.资源仅供学习交流使用,版权归原作者所有,请在下载后24小时之内删除;
4.如用于商业或非法用途实属个人行为,与本站无关,一切后果由用户自负;
5.本站提供的源码、主题模板、插件等资源,都不包含技术服务,请大家谅解;
6.本站所设置的资源售价只是用于赞助,收取费用仅维持本站的日常运营所需;
7.如果您有好的源码或者教程,请至个人中心发布资源,将有积分奖励和额外收入;
8.本站默认解压密码:www.ittiantang.com,如有链接无法下载,请联系管理员处理。

IT天堂 » SQL Server—索引

常见问题FAQ

IT天堂的会员权益只能通过充值获得吗?
您可以通过签到功能获得积分,用积分兑换会员权益。
网站上的VIP资源只能通过充值购买吗?
您可以通过每日签到获得积分,使用积分直接购买VIP资源。

发表评论