关于数据库的索引

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

以SQL server为例:

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

索引的类型:

聚集

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

非聚集

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

索引和约束

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

怎样设计索引

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值