关于数据库的索引

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

以SQL server为例:

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

索引的类型:

聚集

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

非聚集

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

索引和约束

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

怎样设计索引

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

阅读更多
想对作者说点什么? 我来说一句

关于数据库中的索引原理

2009年02月24日 10KB 下载

关系数据库英文ppt

2011年11月16日 3.5MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭