`
xudongcsharp
  • 浏览: 467876 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数据库索引

 
阅读更多
一、为什么要创建索引呢(优点)?
这是因为,创建索引可以大大提高系统的性能。
第一,   通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,   可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,   可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,   在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,   通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。


二、建立方向索引的不利因素(缺点)
也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点,但是,为表中的每一个列都增加索引,是非常不明智的。这是因为,增加索引也有许多不利的一个方面。

第一,   创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二,   索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
第三,   当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

2.索引问题

在做性能跟踪分析过程中,经常发现有不少后台程序的性能问题是因为缺少合适索引造成的,有些表甚至一个索引都没有。这种情况往往都是因为在设计表时,没去定义索引,而开发初期,由于表记录很少,索引创建与否,可能对性能没啥影响,开发人员因此也未多加重视。然一旦程序发布到生产环境,随着时间的推移,表记录越来越多

这时缺少索引,对性能的影响便会越来越大了。

这个问题需要数据库设计人员和开发人员共同关注

法则:不要在建立的索引的数据列上进行下列操作:

◆避免对索引字段进行计算操作

◆避免在索引字段上使用not,<>,!=

◆避免在索引列上使用IS NULL和IS NOT NULL

◆避免在索引列上出现数据类型转换

◆避免在索引字段上使用函数

◆避免建立索引的列中使用空值。
分享到:
评论

相关推荐

    漫谈数据库索引漫谈数据库索引漫谈数据库索引

    漫谈数据库索引漫谈数据库索引漫谈数据库索引漫谈数据库索引

    数据库索引设计和优化

    数据库索引设计和优化 经典的数据库索引的书籍......................

    数据库 索引及优化

    数据库 索引 优化 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引...

    数据库索引设计与优化

    《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...

    数据库索引设计与优化.pdf

    《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...

    高清完整版 数据库索引设计与优化

    高清完整版 数据库索引设计与优化 高清完整版 数据库索引设计与优化

    oracle,数据库索引

    数据库索引

    数据库索引,到底是什么

    • 数据库索引用于加速查询 • 虽然哈希索引是O(1),树索引是O(log(n)),但SQL有很多“有序”需求,故数据库使用树型索引 • InnoDB不支持哈希索引 • 数据预读的思路是:磁盘读写并不是按需读取,而是按页预读,一...

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

    本书提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL运行的CPU时间及...

    数据库索引设计与优化.part1

    数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与...

    数据库索引设计原则.

    oracle数据库索引设计原则. 数据库索引设计原则.

    数据库索引设计与优化.part2

    数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与...

    《数据库索引设计与优化》高清带书签

    本书提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL运行的CPU时间及...

Global site tag (gtag.js) - Google Analytics