58ssl.cn_SSL之家
当前位置: 首页 > 常见问题 > 如何合理创建数据库索引?

如何合理创建数据库索引?

关键词:创建合理数据库索引   时间:2015-12-09      来源:SSL之家    点击:
  
  
  通过上篇我们介绍的“什么是数据库索引?”一文,我们可以了解到,合理正确的创建和使用数据库索引,能够有效的提高和加快数据库系统读取和访问数据的速度,同时,不合理的数据库索引创建,也可能会加重VPS服务器负担,对VPS服务器优化起到适得其反的作用。
  
  数据库索引的创建和使用,对于数据库优化和改善数据库访问速度慢的状况,有着极为有利的作用,同时也存在一定的弊端,因此,我们需要掌握如何合理创建数据库索引的知识和方法。数据库索引是建立在数据库表中的某些列的上面。在创数据库建索引的时候,应该考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引:
 
合理创建数据库索引
  
  ⒈在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构,在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度,而那些定义为text,image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少,不利于使用索引;
  
  ⒉在经常需要搜索的列上,可以加快搜索的速度,在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的,而那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求;
  
  ⒊在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度,而只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度;
  
  ⒋在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间,而当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改操作远远多于检索操作时,不应该创建索引。
  
  根据以上4条数据库索引创建使用规则,弄清楚数据库中那些需要创建数据库索引的列,以及那些木有必要创建数据库索引的数据列的特点,我们就可以正确合理的创建和使用数据库索引,才能有效的提高数据库整体运行性能及数据访问速度。

 

本文链接:https://www.58ssl.cn/ssl_wenti/610.html TAG:"创建合理数据库索引"转载请注明出处。

百度新闻 百度地图 谷歌地图
Copyright© 2010-2020 SSL之家