`

mysql 索引建立规则

 
阅读更多
索引创建规则:
 1、表的主键、外键必须有索引;
 2、数据量超过300的表应该有索引; 
 3、经常与其他表进行连接的表,在连接字段上应该建立索引
 4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
 5、索引应该建在选择性高的字段上; 
 6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
 7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替: 
 A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
 B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,
则可以建立复合索引;否则考虑单字段索引; 
 C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
 D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
 E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
 8、频繁进行数据操作的表,不要建立太多的索引;
 9、删除无用的索引,避免对执行计划造成负面影响; 以上是一些普遍的建立索引时的判断依据。
一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。
因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,
索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,
一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。 
分享到:
评论

相关推荐

    04-VIP-Mysql索引优化实战一.pdf

    MySQL索引优化是数据库性能提升的关键环节,本篇主要探讨了几个关于MySQL索引使用和优化的重要知识点。 首先,创建了一个名为`employees`的员工记录表,其中包含`id`(主键)、`name`、`age`、`position`和`hire_...

    Mysql索引数据结构.pptx

    同时,过度使用索引也可能带来负面影响,如写操作性能下降、额外的存储空间消耗,因此合理创建和维护索引至关重要。 总的来说,理解 MySQL 索引的数据结构有助于我们更好地设计数据库,编写高效的 SQL 查询,从而...

    MySQL 进阶-索引使用规则

    以下将详细介绍MySQL中的索引使用规则及其相关知识。 1. **创建索引** - **CREATE INDEX** 语句用于在表的列上创建索引,例如:`CREATE INDEX idx_name ON table_name (column_name);` - **唯一性索引**:`UNIQUE...

    mysql索引数据结构详解

    1. 避免 MySQL 给我们建立索引 Rowid,不用我们的表字段建立索引。 2. 避免 B+ 树的结构频繁变化,页结点分裂,表自动平衡。 3. 查询遵循必须按照索引顺序的规则:从最左边开始例如(bill,30) (bill 30 dev)可以...

    mysql多条件索引

    多列索引则是在两个或更多列上建立的索引,它适用于多个查询条件的情况。然而,多列索引的使用有其特定规则,被称为“最左前缀原则”。这意味着查询条件必须从索引的第一列开始,并按照索引列的顺序匹配,直到遇到...

    MySQL索引分析和优化

    总的来说,理解MySQL索引的类型、创建方法以及如何选择合适的索引是优化数据库性能的关键。正确的索引设计能够显著提升查询效率,减少不必要的计算资源消耗,从而提高整体系统性能。在实际应用中,还应定期分析查询...

    MySQL索引机制(详细+原理+解析).doc

    MySQL 索引机制详细解析 MySQL 索引机制是 MySQL 中的一种数据结构,它可以加快数据的检索速度。索引机制是指在数据库中的...但是,索引机制也需要遵循一定的设计原则和维护规则,以确保索引的有效性和查询的高效率。

    MySQL 索引及优化实战1

    MySQL 索引是数据库性能优化的关键因素,它通过预排序数据来加快查询速度。索引分为聚集索引和非聚集索引。 聚集索引(Clustered Index)是数据库表中数据实际存储的方式,决定了数据在磁盘上的物理顺序。由于数据...

    mysql索引与树结构(索引简介、索引用法详解、B-Tree索引结构、索引导致的问题).docx

    - **修改索引**: MySQL不直接支持修改索引,需先删除再重建。 - **查询索引** - **基础命令**: `EXPLAIN SELECT * FROM table_name WHERE condition;` - **参数解释**: - **id**: 指示查询的执行顺序。 - **...

    MySQL索引背后的数据结构及算法原理.pdf

    根据查询特点,考虑建立合适的索引,如考虑建立基于主键、特定查询条件或者排序规则的索引,来优化查询性能。 ### 总结 本文通过介绍MySQL索引背后的数据结构和算法原理,深入分析了B-Tree和B+Tree的特点及对MySQL...

    MySQL字符串索引更合理的创建规则讨论

    针对使用MySQL的索引,我们之前介绍过索引的最左前缀规则,索引覆盖,唯一索引和普通索引的使用以及优化器选择索引等概念,今天我们讨论下如何更合理的给字符串创建索引。 如何更好的创建字符串索引 我们知道,...

    深入浅析Mysql联合索引最左匹配原则

    这个原则指出,当创建一个包含多个列的联合索引时(例如,KEY test_col1_col2_col3 ON test(col1, col2, col3)),MySQL会在查询时从索引的最左侧列开始匹配,依次向右。这意味着,如果查询条件包含了索引的最左侧列...

    MySQL SQL高级特性 字段约束-索引-视图-外键学习实践

    总结来说,字段约束、索引、视图和外键是MySQL数据库设计和优化的重要组成部分。通过理解和合理使用这些特性,可以有效地提高数据库管理的效率和数据操作的性能。在实际应用中,应当根据具体的数据模型和业务需求...

    MySQL中文参考手册

    手册会讲解如何创建和管理索引,包括唯一索引、主键、全文索引和空间索引等。 5. **查询优化**:学习如何编写高效的SQL查询,包括使用JOIN操作合并多个表的数据,利用子查询解决问题,以及如何避免全表扫描以提升...

    74 再来看看几个最常见和最基本的索引使用规则l.pdf

    索引是数据库中用于提高数据检索效率的重要技术。合理使用索引能够大幅提升数据库查询的速度。...记住这些规则,编写符合规则的SQL语句,就能最大化地利用我们建立好的联合索引来提高数据库查询的效率。

    MySQL的命名规则.pdf

    根据提供的文件信息,文件名为《MySQL的命名规则.pdf》,描述也是相同的,而标签为“技术及资料”。尽管提供的部分内容看似混乱,其中显然包含了与MySQL命名规则相关的关键词和代码片段。文件的核心内容很可能是关于...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 第二十课MySQL索引和调优.pdf │ 第二课MySQL入门介绍.pdf │ 第五课MySQL常用函数介绍.pdf │ 第八课InnoDB内核.pdf │ 第六课SQL高级应用.pdf │ 第十一课MySQL表分区8.0.pdf │ 第十七课Elasticsearch分享-...

    mysql 全文索引

    MySQL全文索引是一种高效搜索大量文本数据的方法,它允许用户以自然语言的形式进行查询,而不仅仅是基于精确匹配。全文索引在数据库管理中扮演着重要角色,尤其在处理新闻、文章、博客等含有大量文本信息的数据时。...

Global site tag (gtag.js) - Google Analytics