SQL索引

本文介绍了数据库索引,包括其定义、分类(唯一、主键、聚集、非聚集索引),创建索引的标准。指出索引存在消耗内存、维护量大等缺点,说明了其使用范围,如主键、外键等。还提醒索引数量及失效问题,建议用执行计划等优化,大数据量可尝试分区。

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

 CREATE [UNIQUE|CLUSTERED|NONCLUSTERED] INDEX INDEX_NAME ON TABLE_NAME(PROPERTY_NAME)  INCLUDE(INCLUDE_NAME)

 

一:描述

   1.什么是索引:数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

  2.分类:

     唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)

    主键索引:主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)

     聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引

     非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引

    3.创建索引的标准:用语频繁搜索的列;用语对数据进行排序的列

 

 

二:缺点:

1)索引会消耗物理存储空间内存

2)维护量大

3)新增、修改:索引还需要进行动态的维护

 

三:使用范围:

1.主键

2.外键

3.经常查询的数据

4.经常位于WHERE后的数据

5.出现在orderby/group by /distinct的数据

 

注意:

1:索引一般在3-5个

2:有时候查询内容不同就导致索引失效,合理的利用索引能在千万级的数据量中快速查询

经本人实验:大数据量中合理利用索引能达到秒级查询。当然这和数据库的表设计有一定关系。

 

如果在不知道建立什么索引最佳的,建议可以把常用的语句  用 执行计划(CTRL+L) 或者 数据库引擎优化顾问 进行 索引优化。

 

建议:在大数据量(百万级千万级)使用索引和表设计如无法达到优化效果 ,应该试试【分区】。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值