什么是数据库索引 有哪些类型和特点

所属分类: 数据库 / 数据库其它 阅读数: 138
收藏 0 赞 0 分享

有效优化VPS性能,提高VPS服务器运行速度,除了合理配置WEB服务器外,更多的是需要我们能够很好的优化网站程序及网站数据库,网站数据库的优化最为基础的优化措施就是建立数据库索引了,这里就介绍一下,什么是数据库索引?有哪些类型和特点?

数据库索引

  ⑴,什么是数据库索引?

  

  数据库索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别(想想小时候查字典),它是用于提高数据库表数据访问速度的数据库对象。

  

  ①一些情况下,索引还可用于避免排序操作;

  

  ②对于非聚集索引,有些查询甚至可以不访问数据页;

  

  ③索引可以避免全表扫描。多数查询可以仅扫描少量索引页及数据页,而不是遍历所有数据页;

  

  ④聚集索引可以避免数据插入操作集中于表的最后一个数据页。

  

  当然,虽然数据库索引可以有效提高数据库数据的查询速度,但是也会导致数据库系统更新数据的性能下降,因为大部分数据更新需要同时更新索引。

  

  ⑵,数据库索引的类型:

  

  数据库索引好比是一本书前面的目录,能加快数据库的查询速度。根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一索引。

  

  ①聚集索引,表数据按照索引的顺序来存储的。对于聚集索引,叶子结点即存储了真实的数据行,不再有另外单独的数据页;

  

  ②非聚集索引,表数据存储顺序与索引顺序无关。对于非聚集索引,叶结点包含索引字段值及指向数据页数据行的逻辑指针,该层紧邻数据页,其行数量与数据表行数据量一致。

  

  在一张表上只能创建一个聚集索引,因为真实数据的物理顺序只可能是一种。如果一张表没有聚集索引,那么它被称为“堆集”(Heap)。这样的表中的数据行没有特定的顺序,所有的新行将被添加的表的末尾位置。

  

  ⑶,数据库索引的基本特点:

  

  建立索引的目的是加快对表中记录的查找或排序。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录。数据库索引是建立在数据库表中的某些列的上面。在创建数据库索引的时候,应该考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引。

  

  通过对于数据库索引知识和其基本特点的了解,不难发现,建立和使用数据库索引,对于提供数据库系统整体性能有着极为有利的作用,能够极为有效的加快数据库数据库的读取速度,但同时,也存在着一定的弊端,数据库索引的创建和维护,以及存储不仅会耗费大量的时间和精力,同时也会极为消耗VPS服务器的硬盘空间等资源,因此,对于大型数据库的维护,我们还需要谨慎使用数据库索引。 

更多精彩内容其他人还在看

sql 左连接和右连接的使用技巧(left join and right join)

今天做项目,发现左右连接是不一样的。主要是说明了区别,是不是必须用左连接或右连接,大家可以根据需要选择。
收藏 0 赞 0 分享

mysql "group by"与"order by"的研究--分类中最新的内容

这两天让一个数据查询难了。主要是对group by 理解的不够深入。才出现这样的情况
收藏 0 赞 0 分享

MSSQL转MySQL数据库的实际操作记录

今天把一个MSSQL的数据库转成MySQL,在没有转换工具的情况下,对于字段不多的数据表我用了如下手功转换的方法,还算方便。MSSQL使用企业管理器操作,MySQL用phpmyadmin操作。
收藏 0 赞 0 分享

程序员应该知道的数据库设计的两个误区

在几乎所有的企业级应用程序中,包括各种MIS、ERP、CRM等等,都会使用数据库,这样的好处是显而易见的,很容易地实现了数据层和业务逻辑层的分离,而且对于性能的优化也在一定程度上提供了便利。
收藏 0 赞 0 分享

大数据量,海量数据处理方法总结

大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯这样的一些涉及到海量数据的公司经常会问到。
收藏 0 赞 0 分享

MDAC2.8 安装问题与解决方法

根据Windows XP的版本不同,有的版本需要安装MDAC2.8,一般Windows XP SP2或以上版本就不需要安装。不需要安装时系统会提示“MDAC 2.8 RTM 与此版本 Windows 不兼容。现在它的所有功能都成为 Windows 的一部分”。
收藏 0 赞 0 分享

SQLServer 2005 和Oracle 语法的一点差异小结

Microsoft SQL Server 和Oracle 语法的一点差异小结,需要的朋友可以参考下。
收藏 0 赞 0 分享

数据库设计规范化的五个要求 推荐收藏

通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。
收藏 0 赞 0 分享

数据库为何要建立索引的原因说明

数据库索引是为了增加查询速度而对表字段附加的一种标识。见过很多人机械的理解索引的概念,认为增加索引只有好处没有坏处。
收藏 0 赞 0 分享

数据库测试 实用技巧及测试方法

软件应用程序已经离不开数据库。无论是在Web、桌面应用、客户端服务器、企业和个人业务,都需要数据库在后端操作。
收藏 0 赞 0 分享
查看更多