`
329087553
  • 浏览: 51564 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

建索引的利与弊

阅读更多
上次去用友面试,面试官问我平时给数据库加索引 ,索引有什么利,有什么弊, 当时我不知道怎么说,我只知道好处,今天就总结了下,希望对大家面试有所帮助 。

索引的优点
     1.创建唯一性索引,保证数据库表中每一行数据的唯一性
     2.大大加快数据的检索速度,这也是创建索引的最主要的原因
     3.加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
     4.在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
     5.通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。
四、索引的缺点
     1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
     2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大
     3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度


更详细的介绍请参照以下文章:
[url] http://baike.baidu.com/view/262241.htm[/url]
http://hi.baidu.com/18302607/blog/item/922fca016035a217738b65eb.html
0
0
分享到:
评论

相关推荐

    创建索引的作用利弊

    ### 创建索引的作用及其利弊分析 在数据库管理与优化领域,索引是提升查询效率的重要工具之一。本文将从创建索引的作用出发,详细探讨其背后的技术原理、实际应用场景以及可能带来的利弊。 #### 一、索引的基本...

    MySQL数据库:索引概述.pptx

    例如,对于数据量较小的表,索引可能弊大于利,因为它会占用额外的存储空间,并且在插入、更新数据时需要维护索引,可能降低这些操作的速度。此外,频繁插入新记录的表也不宜过度使用索引,因为每次插入都需要更新...

    什么情况下需要创建MySQL索引?

    如果一个字段在短时间内被更新多次,那么创建索引可能弊大于利。一般来说,只有当字段更新频率相对较低,且检索需求较高时,创建索引才是合适的。 最后,不会出现在WHERE条件中的字段不应该建立索引。因为索引的...

    mysql索引必须了解的几个重要问题

    对于小表,过多的索引可能弊大于利。同时,选择合适的字段类型创建索引也很关键,例如,对于text类型,可以指定长度创建索引,MyISAM存储引擎的索引键长度限制为1000字节。此外,用于筛选的值最好与索引列的数据类型...

    Python基础教程(crossin全60课).pdf

    - 使用Python的原因:讨论Python作为编程入门语言的利与弊。 - 建议的入门书籍:推荐适合初学者的Python入门书籍。 - 编程学习态度:强调对于初学者来说,先不要过多担心语言的优缺点,而是应该注重学习过程。 正则...

    MySql的优化步骤介绍(推荐)

    然而,更新频繁的列或唯一性差的列(如性别字段)创建索引可能弊大于利,因为每次更新都会导致索引维护,增加I/O操作。 除了索引优化,还可以考虑SQL语句的优化,比如避免全表扫描,减少子查询,使用JOIN代替子查询...

    10个关键的MySQL性能优化技巧

    分析查询模式,为频繁查询的列创建索引,特别是主键和外键。同时,避免过多索引,以免写操作性能下降。 8. **优化查询语句**:避免冗余和复杂的SQL语句,使用JOIN操作时要谨慎,尽量减少子查询,考虑使用存储过程来...

    为什么你不要收缩数据库文件(国外翻译)

    然而,根据专家Paul Randal的观点,收缩数据文件往往弊大于利,主要因为以下原因: 1. **索引碎片增加**:收缩操作会导致数据页在文件中的移动,这会极大地增加索引的碎片。在示例中,创建了一个填充表和生产表,...

    php代码-PHP global 关键字

    ### 二、全局变量的利与弊 **优点:** 1. **共享数据**:全局变量可以在整个脚本中传递和共享数据,简化了不同函数间的数据交换。 2. **简单易用**:使用全局变量可以减少参数的传递,使代码更简洁。 **缺点:** 1...

    MySQL Tomcat Apache优化

    然而,对于写操作频繁的应用场景,开启查询缓存可能弊大于利,因为它会导致额外的CPU开销和内存使用。 - **tmp_table_size=64M**:该参数控制临时表的最大大小。增大`tmp_table_size`可以帮助处理更大的数据集,...

Global site tag (gtag.js) - Google Analytics