关于数据库的索引

原创 2007年10月09日 17:59:00

想必很多面试的人都会被面试官问的关于索引的知识问倒把 ,这也不怪,不是自己动手设计大型的数据库,索引就自然接触的很少,下面简单的列一些索引的知识,大家一起学习把:

以SQL server为例:

索引是一种与表或视图关联的磁盘上结构可以加快从表或视图中检索行的速度,索引包含由表或视图中的一列或多列生成的键,这些东西都存储在一个结构(B 树)中。

索引的类型:

聚集

聚集索引根据数据行的键值在表或视图中排序和存储这些数据行。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序。

非聚集

非聚集索引具有独立于数据行的结构。非聚集索引包含非聚集索引键值,并且每个键值项都有指向包含该键值的数据行的指针。

索引和约束

对表列定义了 PRIMARY KEY 约束和 UNIQUE 约束时,会自动创建索引。设计良好的索引可以减少磁盘 I/O 操作,并且消耗的系统资源也较少,从而可以提高查询性能。对于包含 SELECT、UPDATE DELETE 语句的各种查询,索引会很有用。

怎样设计索引

  • 一个表如果建有大量索引会影响 INSERT、UPDATE 和 DELETE 语句的性能,因为在表中的数据更改时,所有索引都须进行适当的调整。
  • 避免对经常更新的表进行过多的索引,并且索引应保持较窄,就是说,列要尽可能少。
  • 使用多个索引可以提高更新少而数据量大的查询的性能。
  • 视图包含聚合、表联接或聚合和联接的组合时,视图的索引可以显著地提升性能

数据库索引、B树、B+树

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结...
  • Marelin
  • Marelin
  • 2014年04月03日 17:10
  • 2156

数据库索引的作用和优点缺点以及索引的11中用法

数据库索引的作用和优点缺点以及索引的11中用法
  • baidu_37107022
  • baidu_37107022
  • 2017年08月08日 21:12
  • 1074

Mysql 的锁与索引的关系

mysql 锁与索引的关系   mysql的锁:(行锁,表锁,页锁) 与索引存在很大的关系,我们平时在写sql的时候其实很少注意这个问题(估计是个人水平比较低,所以很少注意吧),那么在有索引和没有索引...
  • libo222
  • libo222
  • 2016年09月07日 16:14
  • 2102

数据库索引

  • 2016年09月01日 15:53
  • 14KB
  • 下载

设计数据库中的索引有什么作用

  • 2017年05月11日 10:41
  • 826KB
  • 下载

数据库函数,获得数组中值的索引值

  • 2016年04月07日 16:50
  • 1KB
  • 下载

数据库索引设计与优化,经典圣作品

  • 2017年11月08日 22:24
  • 85.08MB
  • 下载

完整的C/C++时序的B+树(数据库系统实现实验,用于做数据索引)

  • 2017年11月05日 20:58
  • 4.54MB
  • 下载

数据库索引重建及修复

  • 2017年08月25日 18:17
  • 620B
  • 下载

数据库索引

  • 2017年08月16日 14:40
  • 740KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于数据库的索引
举报原因:
原因补充:

(最多只允许输入30个字)