博客
关于我
大型数据库技术复习 —— 索引
阅读量:505 次
发布时间:2019-03-07

本文共 1236 字,大约阅读时间需要 4 分钟。

数据库索引指南

什么是索引?

索引是数据库中的一种结构,它通过存储特定列的值与数据页的逻辑指针列表实现对数据库表中数据的高效定位。索引的主要作用是加快数据检索速度,提高数据库性能。

索引的作用

  • 唯一性:创建唯一索引可确保数据记录的唯一性。
  • 加速检索:显著缩短数据查询时间。
  • 表连接:加速表间连接和数据操作。
  • 排序与分组:减少查询中的排序和分组开销。
  • 查询优化:通过索引信息帮助数据库优化器选择最佳路径。

聚集索引

聚集索引是数据记录和索引信息混合存储的索引类型。其叶节点包含实际数据行。特点:

  • 单一排序:每个表仅有一个聚集索引。
  • 创建顺序:应先创建聚集索引。
  • 默认设置:聚集索引的 indid 为 1。
  • 物理存储:聚集索引的数据页与表数据页混合存储。

非聚集索引

非聚集索引的叶节点存储索引值和行定位器,适用于非唯一性列。特点:

  • 默认类型:未指定索引类型时,默认为非聚集索引。
  • 数量限制:每个表最多可创建 249 个非聚集索引。
  • 最佳实践:在值唯一性较高的列创建非聚集索引,用于支持联接和分组操作。

主键索引与非主键索引

  • 主键索引:主键自动创建聚集索引。
  • 非主键索引:用于非主键列,通常为非聚集索引。

唯一索引与非唯一索引

  • 唯一索引:索引列不允许重复值,适用于确保数据唯一性。
  • 非唯一索引:用于未受约束的列。

单列索引与复合索引

  • 单列索引:仅对单一列建立索引。
  • 复合索引:包含多个列的索引,提升查询效率。

创建索引

使用 T-SQL 创建索引命令:

CREATE [UNIQUE] [CLUSTERED| NONCLUSTERED] INDEX 索引名 ON 表或视图(列 [ASC|DESC] [, ...n] ) WITH (PAD_INDEX, FILLFACTOR, IGNORE_DUP_KEY, DROP_EXISTING, STATISTICS_NORECOMPUTE, SORT_IN_TEMPDB)

参数说明:

  • UNIQUE:创建唯一索引。
  • CLUSTERED| NONCLUSTERED:指定索引类型。
  • ASC|DESC:索引列排序方向。
  • PAD_INDEX:保持索引页开放。
  • FILLFACTOR:索引填充因子。
  • IGNORE_DUP_KEY:允许重复键值。
  • DROP_EXISTING:删除已有索引。
  • STATISTICS_NORECOMPUTE:禁用索引统计。
  • SORT_IN_TEMPDB:中间排序存储在 tempdb。

示例:

USE 教学管理GOCREATE UNIQUE INDEX IX_学号_开课号 ON 选课表(学号 DESC, 开课号 ASC)WITH (PAD_INDEX = ON, FILLFACTOR = 90, IGNORE_DUP_KEY = ON, DROP_EXISTING = ON)

删除索引

使用命令:

DROP INDEX 表名.索引名[, ...n]

通过以上方法,可以有效管理数据库索引,优化查询性能。

转载地址:http://synjz.baihongyu.com/

你可能感兴趣的文章
python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
查看>>
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>
Python听写汇总结果
查看>>
python吊打Excel?屁!那是你不会用!
查看>>
Python合并两张图片 | 先叠透明度再合并 (附Demo)
查看>>
python各进制的表述与转换
查看>>
python各种库安装
查看>>
python可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
查看>>
python可维护性_使用这7大神器,让你的Python 代码更容易于维护
查看>>
python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
查看>>
Python变量命名方法-ChatGPT4o作答
查看>>
Python变量与运算符
查看>>
python单元测试之unittest
查看>>
Python单元测试unittest实战
查看>>
python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
查看>>
Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
查看>>
Python加速运行技巧
查看>>
python办公自动化基础遍历文件夹
查看>>
python办公自动化基础输出文件和文件夹
查看>>