`

数据库建立索引的一般依据

 
阅读更多

建立索引常用的规则如下:

1、表的主键、外键必须有索引;

2、数据量超过300的表应该有索引;

3、经常与其他表进行连接的表,在连接字段上应该建立索引;

4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;

5、索引应该建在选择性高的字段上;

6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

   A、正确选择复合索引中的主列字段,一般是选择性较好的字段;

   B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;

   C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;

   D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;

   E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;

8、频繁进行数据操作的表,不要建立太多的索引;

9、删除无用的索引,避免对执行计划造成负面影响;

   以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。

分享到:
评论

相关推荐

    数据库建立索引的一般依据小结

    这是因为主键用于唯一标识每条记录,而外键确保了数据的参照完整性,它们在数据库操作中扮演着至关重要的角色,建立索引能够快速定位到相关记录,提高关联查询的速度。 其次,当数据量超过300条时,通常建议为表...

    基于Oracle数据库索引的查询优化研究.pdf

    例如,创建一个针对时间戳列的索引,然后对比带索引和不带索引的查询速度,结果表明,建立索引能显著提高查询速度。 4. 查询优化策略 选择正确的索引类型是优化的关键。对于频繁进行范围查询的列,B树索引通常更...

    SQL Server 2005数据库索引的使用与维护.pdf

    对于规模较小且查询范围较宽的表,建立索引并不一定能够提高性能。 2. 索引应用得当:索引列应该是在查询条件中频繁使用的字段,例如在WHERE子句中的列。 3. 先装数据后建索引:先将初始数据装入表中,再建立索引...

    全国计算机等级考试三级数据库技术.pdf

    全国计算机等级考试三级数据库技术.pdf ...* 数据库物理结构设计:文件的组织、结构、存取及索引技术 本资源摘要信息对三级数据库技术的知识点进行了详细的介绍,并对每个知识点进行了详细的解释和分析。

    数据库第一章笔记整理

    为了提高数据库的效率,可以采用缓存数据、建立索引和使用高性能硬件等策略。缓存可以减少磁盘I/O操作,索引则能加快查询速度,而高性能硬件如固态硬盘SSD能显著提升数据读写性能。 数据库模型包括概念模型、逻辑...

    Mysql数据库设计标准

    4. **索引创建**:频繁出现在`WHERE`子句的字段和关联字段应建立索引,提高查询速度。 5. **选择性和过滤性**:索引字段应具有高选择性和过滤性,以优化查询效果。 6. **函数参数索引**:函数参数字段不宜创建索引,...

    数据库课程设计.doc

    3. **数据库实施**:依据逻辑结构在ORACLE 10g/11g数据库中创建实际的数据库,录入初始数据,并提供实施后的数据库截图以证明完成。 4. **应用程序设计**: - **数据库连接**:选择一种编程语言,如Java、Python或...

    数据库表操作.pptx

    建立索引文件可以通过菜单方式或命令方式实现。菜单方式是通过在“表设计器”中直接建立,命令方式是使用INDEX ON <关键字表达式> TAG <索引标记名> [FOR <条件>];[ASCENDING | DESCENDING][UNIQUE | CANDIDATE]...

    数据库设计--软件工程与数据库设计

    在需求分析阶段,数据库设计的依据逐渐明确,因为需要确定软件系统所需的功能、性能和运行环境,这其中包括对数据存储和管理的需求。此时,数据库设计师需要与用户密切沟通,确保理解并记录下所有关键的数据需求。 ...

    MySQL索引优化课件

    同时,避免在经常更新的列上建立索引,因为这会增加写操作的复杂性。 关于存储过程,它们是一组预先编译的SQL语句,可以在需要时重复调用,以提高执行效率。存储过程可以封装复杂的业务逻辑,减少网络通信,提高...

    Oracle数据库查询优化的方法

    通常,索引的建立需要依据实际的查询模式。例如,如果一个复合索引的几个字段经常同时出现在WHERE子句中使用AND方式进行查询,则应当建立复合索引。此外,如果查询操作多是基于单字段的,且很少或几乎不以AND方式...

    金蝶K3数据库字典详细说明

    4. **索引与性能**:虽然字典文件可能不直接提供索引信息,但了解哪些字段频繁用于查询可以指导我们优化查询性能,合理建立索引。 5. **数据完整性**:通过分析字段是否允许为空,我们可以判断系统对数据完整性的...

    物流管理的数据库设计

    同时,数据库的索引设计也非常重要,对于频繁查询的字段,建立索引可以提高查询速度。 数据库设计命名规范是保证代码可读性和维护性的基础。通常,表名、字段名应采用有意义的英文单词或缩写,遵循驼峰命名法或...

    VFP数据库系统开发实例(附图)(1).doc

    前者涉及程序的层次结构,后者涉及数据库的设计,包括依据数据处理需求、功能设计和规范化理论建立数据模型。 7. **数据库逻辑设计**:在VFP中,数据模型通常以关系模型形式建立,包括学生信息表、管理人员信息表、...

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

    如果表中的数据经常被查询且比例较高(例如超过10%-15%),建立索引可能会有意义,但若查询范围较小,全表扫描可能更快。在这种情况下,数据库管理员应通过性能测试来确定是否有必要创建索引。 其次,索引创建应...

    金属材料标准的应用数据库MtrRvw

    3.1 数据库MtrRvw使用窗体展现试验特征的标题、要求值、依据和逻辑关系,输入、编辑和管理试验数据,以上下文敏感的方式访问保存在“文件汇编”的标准条文。 窗体以试验标准的试验特征为主体,通常按若干范畴组织...

    学生宿舍管理系统数据库设计案例

    虽然内容未直接提及物理设计,但这是数据库设计的最后一步,涉及数据在硬盘上的存储方式、索引构建、分区策略等,以确保高效的数据存取。 5. 实施与维护: 系统开发完成后,会进行部署、测试和持续的维护,以适应...

    数据库课程设计报告......

    例如,对频繁查询的字段建立索引可以提高查询效率,但也会增加写操作的开销。 五、数据库实施与测试 完成设计后,我们需要在DBMS中创建数据库并导入数据。接着,进行单元测试和集成测试,验证数据库是否能满足需求...

    一个用于分班的数据库格式

    此外,为了确保数据的安全性和完整性,还需要设计合理的数据库架构,例如建立索引以提高查询效率,设置合适的数据校验规则防止数据错误,以及定期备份数据以防止数据丢失。 在实际应用中,这个数据库可能通过一个...

Global site tag (gtag.js) - Google Analytics