`
lvwenwen
  • 浏览: 956105 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

数据库创建索引有什么优点和缺点

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

也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点,但是,为表中的每一个列都增加索引,是非常不明智的。这是因为,增加索引也有许多不利的一个方面。第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

索引是建立在数据库表中的某些列的上面。因此,在创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引,例如:在经常需要搜索的列上,可以加快搜索的速度;在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

同样,对于有些列不应该创建索引。一般来说,不应该创建索引的的这些列具有下列特点:第一,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。第二,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度。第三,对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少。第四,当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改性能远远大于检索性能时,不应该创建索引。
分享到:
评论

相关推荐

    数据库索引的优缺点及其附加资料

    本文将深入探讨数据库索引的优缺点,以及如何在实际操作中合理地运用索引来提升数据库性能。 ### 数据库索引的优点 #### 1. 提升数据检索速度 索引的存在使得数据库系统能够快速定位到所需数据,极大地提高了数据...

    数据库索引的作用与优缺点.doc

    数据库索引的作用与优缺点 数据库索引是指在数据库表中的某些列上创建的数据结构,旨在提高数据检索和维护的速度。创建索引可以大大提高系统的性能,确保数据库表中每一行数据的唯一性,加快数据的检索速度,提高表...

    数据库索引的作用和优点缺点

     同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。  * SQL Server中的数据也是按页( 4KB )存放  * 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法...

    索引的优点和缺点

    通过创建索引,数据库系统能够更高效地查找、排序和过滤数据,从而显著提升应用程序的响应速度和整体性能。接下来,我们将详细介绍索引的优点和缺点,并探讨如何有效地建立索引以及索引的主要特征。 ### 索引的优点...

    数据库中索引的优缺点

    一、索引的概念  索引是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书能迅速地找到所需要的信息。在数据库中,索引也允许数据库...  三、索引的优点  1.创建

    数据库 索引及优化

    #### 三、索引的优缺点 ##### 3.1 优点 - **保证唯一性**:通过创建唯一性索引,可以确保表中的每一行数据都是唯一的。 - **加快检索速度**:这是创建索引的主要目的之一。 - **加速连接操作**:特别是在实现数据...

    数据库索引设计与优化

    1. 针对频繁查询的列创建索引:根据SQL语句的执行计划,找出最常用于查询的列来建立索引。 2. 平衡读写性能:在考虑索引数量时,需要平衡读取速度和写入速度,避免过度索引。 3. 复合索引:对于多条件查询,可以创建...

    数据库索引的优缺点及使用时的注意事项.docx

    然而,索引并非无懈可击,它们也有其优缺点,并需要根据特定场景谨慎使用。 **优点:** 1. **提高查询速度**:索引为数据库提供了一种快速查找数据的方式,特别是对于大数据量的表,索引可以显著减少查询时间。 2. ...

    mysql数据库索引类型

    三、索引的优点和缺点 索引的优点: * 提高查询速度:索引可以加速查询速度,使得数据检索变得更快。 * 提高数据的唯一性:索引可以确保数据的唯一性,避免数据的重复。 * 提高数据的组织性:索引可以组织数据,...

    2022年数据库的索引管理了解索引.pptx

    创建索引可以提高查询效率,但是它需要花费一定的时间和资源。更新索引可以确保索引的准确性和完整性。删除索引可以释放存储空间和提高数据库的性能。 索引对数据查询性能的提升 ------------------------- 索引...

    数据库索引

    #### 四、索引的优缺点 ##### 优点: 1. **提高查询速度**:索引可以显著提高查询速度,尤其是当涉及到大量数据时。 2. **确保数据唯一性**:通过创建唯一性索引,可以确保表中某一列或几列的值是唯一的。 3. **...

    oracle数据库索引与sql的优化

    2. **索引的优缺点:** **优点:** - 能够快速定位数据; - 保证数据的唯一性; - 减少排序和分组的时间; - 改善查询效率。 **缺点:** - 需要占用额外的空间; - 插入、删除、更新操作时,也需要维护...

    详解SQL数据库索引原理

    - 为经常出现在WHERE子句中的字段创建索引。 - 对于频繁进行范围查询的字段,考虑使用聚集索引。 - 定期分析查询模式,调整索引策略以适应数据访问模式的变化。 - 使用复合索引(即同时基于多个字段的索引),但要...

    Solr数据库插入(全量和增量)索引

    全量索引的优点是可以快速地创建索引,但其缺点是需要大量的系统资源和时间,且可能会对系统性能产生影响。 在 Solr 中,全量索引可以通过使用 DataImportHandler(DIH)工具来实现。DIH 是 Solr 中的一个工具,...

    数据库4-2 数据库索引技术1

    在SQL中,创建索引通常是在创建表时定义主键,或使用`CREATE INDEX`语句。删除索引则使用`DROP INDEX`。DBMS会自动维护索引,确保索引与表同步,无论记录是插入、删除还是更新。 在实际应用中,选择合适的索引类型...

    数据库索引及优化.pdf

    创建索引的优点主要包括: 1. 确保数据的唯一性,通过创建唯一性索引。 2. 提升数据检索速度,尤其是在频繁查询的列上。 3. 加速表间连接,尤其是外键关联。 4. 对于范围查询和排序操作,索引可以提供连续的查找范围...

    海大数据库原理综合实验六

    各有哪些优缺点? 4 实验步骤 4.1 数据库概念模型设计 (1) 进行需求分析。 (2) 设计数据库概念模型,画出E-R图。 4.2 数据库逻辑模型设计 (3) 根据数据库概念模型设计数据库的逻辑模型。 (4) 对逻辑...

Global site tag (gtag.js) - Google Analytics