`

数据库创建索引的建议

阅读更多

一、数据库索引创建规则

 

1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;


4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

 

 

 

二、一般不选择具有这些特点的列上创建索引

 

1. 对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查 询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求;

 

2. 不要在有大量相同取值的字段上,建立索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加 快检索速度;

 

3. 对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少;
 
参考资料:    数据库创建索引的注意事项   http://www.studyofnet.com/news/449.html
 
分享到:
评论

相关推荐

    数据库索引创建建议

    ### 数据库索引创建建议 #### 一、深入理解索引结构 索引在数据库管理中扮演着极其重要的角色,特别是在处理大量数据时。合理的索引设计能够显著提高查询性能,减少系统的响应时间。本文主要探讨数据库中的两种...

    屏蔽数据库表索引的例子

    索引是在数据库表的一个或多个列上创建的数据结构,类似于书籍中的目录,可以显著加快数据检索速度。当执行查询时,数据库管理系统会根据查询条件决定是否使用索引以及使用哪个索引。 #### 2. 为何需要屏蔽索引? ...

    数据库中索引原理

    #### 索引使用的误区与实践建议 常见的误区之一是将主键默认设置为聚集索引。虽然这在某些场景下合理,但如果主键是由系统自动生成的ID列,且ID值连续增加,将这样的主键作为聚集索引可能并无太大意义。因为在实际...

    创建高性能SQL数据库索引 (1).pdf

    当然,并不是任何情况下通过执行索引调整向导都能为数据库表产生索引建议。例如:当前数据库中不存在,而被分布式数据库引用查询的表;系统表;已定义为主键或唯一约束的表列;用引号括起来的标识符查询;表中没有...

    oracle 数据库创建ppt

    Oracle 数据库创建涉及一系列的概念和步骤,以下是详细的知识点解析: 1. **数据库**:数据库是存储和管理数据的容器,包含表、索引、视图、过程、函数、包等对象。在Oracle中,数据库的逻辑结构由表空间构成。 2....

    手动创建数据库 oracle

    同时,你需要安装Oracle Database软件,这通常包括一个称为Database Creation Assistant (DBCA) 的工具,它可以简化数据库创建过程。 2. **创建用户和组**:在Linux环境下,创建一个专门用于运行Oracle服务的用户和...

    数据库,索引,主键,约束,sql

    数据库管理系统(DBMS)在创建索引后,可以通过索引直接查找数据,而不是扫描整个表。常见的索引类型包括B树索引、位图索引和哈希索引,每种都有其适用场景和性能特点。 主键是表中的一个或一组字段,用于唯一标识...

    详解SQL数据库索引原理

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

    数据库索引技巧

    ### 数据库索引技巧详解 #### 一、聚集索引与非聚集索引 数据库索引是用于提高数据检索效率的重要技术之一。根据索引结构的不同,可以将索引分为两大类:**聚集索引**和**非聚集索引**。 - **聚集索引(Clustered ...

    Oracle数据库--索引讲义.pptx

    - 建议在表导入数据后创建索引,避免数据插入时频繁更新索引。 - 应在经常被查询的列上创建索引,如果这些列的查询覆盖率超过表的15%,创建索引的效果更佳。 - 需要控制表中索引的数量,过多的索引会增加更新表时...

    Oracle 数据库中创建合理的数据库索引

    因此,对于这类表,通常不建议创建索引。相反,对于大型表,是否创建索引需要具体分析。如果表中的数据经常被查询且比例较高(例如超过10%-15%),建立索引可能会有意义,但若查询范围较小,全表扫描可能更快。在...

    Hibernate3.4 不自动创建索引的问题

    在IT行业中,数据库的性能优化是至关重要的,而索引就是提升查询效率的关键之一。本文主要探讨的是在使用Hibernate...在实际开发过程中,为了提高性能,建议在关键查询的字段上手动创建索引,以确保最佳的查询效率。

    浅谈Oracle数据库基于索引的SQL语句优化方法.pdf

    此外,索引虽然能够加速查询操作,但也会增加写操作的成本,例如INSERT、UPDATE、DELETE等操作,在创建索引之后会变得更慢,因为索引也需要随之更新。 在进行索引优化时,还要注意以下几点: - 对于数据更新频繁的...

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

    4. **修改操作远超检索操作的场景**:在这种情况下,优化修改性能可能比优化检索更重要,因此不建议创建索引。 创建索引的方法有两种基本途径:直接创建(如使用`CREATE INDEX`语句或索引向导)和间接创建(通过...

    MYSQL数据库四种索引类型介绍

    不建议在唯一性差(如性别字段)、更新频繁或不会出现在查询条件中的列上创建索引。这可以帮助平衡查询速度和维护成本。 MySQL中的索引类型主要有两种:哈希索引(HASH)和B树索引(BTREE)。哈希索引适用于等值...

    SQL2000数据库优化及安全建议.doc

    SQL2000 数据库优化及安全建议 本文档提供了 SQL2000 数据库优化及安全建议,以帮助数据库管理员和开发者提高数据库性能和安全性。 数据库优化 数据库优化是数据库管理员和开发者需要关注的重要步骤。数据库优化...

    Oracle数据库中的索引管理技术.pdf

    创建索引的建议 创建索引可以大大提高系统的性能,但创建索引也需要遵循一定的原则。以下是一些建议: (1)创建唯一性索引 创建唯一性索引可以保证每一行数据的唯一性。 (2)创建合理的索引 创建合理的索引...

    数据库原理与运用(索引管理)

    在以下情况下,通常不建议创建索引: 1. 查询中很少使用的列。 2. 值非常少的列。 3. 类型为Text、Image或bit的数据列。 4. 修改性能远高于索引性能时。 索引主要有两类:聚集索引和非聚集索引,分别从数据存储的...

Global site tag (gtag.js) - Google Analytics