索引

什么是索引

似书的目录

索引的作用

提高查询效率

索引的分类

  • 按存储结构区分:

1、聚集索引(又称聚类索引,簇集索引):顺序和数据表一致, 聚集索引每张表唯一,因为表的顺序理论上是唯一,主键就是一个聚集索引, 创建主键默认会给你创建一个索引,而且是唯一的聚集索引,所以通过主键查询是非常快的

2、非聚集索引(非聚类索引,非簇集索引):顺序和数据表可以不一致,可以创建多个

  • 按数据唯一性区分:

1、唯一索引:索引的列不能重复

2、非唯一索引:可以创建在重复列中

  • 按键列个数区分:

1、单列索引

2、多列索引

索引的原理: B+树(数据结构的内容)

索引的语法:

create [聚集索引,非聚集索引,唯一索引 ,非唯一索引] index 索引的名字 on 表(字段)

也就是
create [unique],[clustered/noclustered] index < 索引的名字 >on 表(字段)

索引是不是越多越好?

不是。虽然索引可以提高查询效率。 所以也是需要时间和空间去维护

添加了索引会降低,添加,删除的效率。因为在添加数据和删除数据的同时,会去操作索引

唯一索引和非唯一索引区别:

1:唯一索引他的值不能重复
2: 存储唯一索引和非唯一索引哪个需要的空间大一点
唯一索引存储小一点(因为他不用关心数据是否重复的问题,所以会减少一部分的处理),非唯一索引他会对一个处理重复的内容,存储量就会大一点

数据是表中的:

索引是存储类似指针,类似书的目录对应的页码,具体的内容,其实还是书当中的

基本使用

--exp:创建一个非聚集索引
--create nonclustered index indexAccount on AccountInfo(AccountCode)
--删除一个索引
--drop index indexAccount on AccountInfo

--索引查看
--select * from sys.indexes where name='indexAccount'

--使用索引查询
--select * from 表名 with (index='索引名') 

posted @   青仙  阅读(103)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示