`

MySQL索引,如何正确创建MySQL索引?

阅读更多

索引可以提高数据的检索效率,也可以降低数据库的IO成本,并且索引还可以降低数据库的排序成本。排序分组操作主要消耗的就是CPU资源和内存,所以能够在排序分组操作中好好的利用索引将会极大地降低CPU资源的消耗。

如何判定是否需要创建索引?

1、较频繁地作为查询条件的字段

这个都知道。什么是教频繁呢?分析你执行的所有SQL语句。最好将他们一个个都列出来。然后分析,发现其中有些字段在大部分的SQL语句查询时候都会用到,那么就果断为他建立索引。

2、唯一性太差的字段不适合建立索引

什么是唯一性太差的字段。如状态字段、类型字段。那些只存储固定几个值的字段,例如用户登录状态、消息的status等。这个涉及到了索引扫描的特性。例如:通过索引查找键值为A和B的某些数据,通过A找到某条相符合的数据,这条数据在X页上面,然后继续扫描,又发现符合A的数据出现在了Y页上面,那么存储引擎就会丢弃X页面的数据,然后存储Y页面上的数据,一直到查找完所有对应A的数据,然后查找B字段,发现X页面上面又有对应B字段的数据,那么他就会再次扫描X页面,等于X页面就会被扫描2次甚至多次。以此类推,所以同一个数据页可能会被多次重复的读取,丢弃,在读取,这无疑给存储引擎极大地增加了IO的负担。

3、更新太频繁地字段不适合创建索引

当你为这个字段创建索引时候,当你再次更新这个字段数据时,数据库会自动更新他的索引,所以当这个字段更新太频繁地时候那么就是不断的更新索引,性能的影响可想而知。大概被检索几十次会更新一次的字段才比较符合建立索引的规范。而如果一个字段同一个时间段内被更新多次,那么果断不能为他建立索引。

4、不会出现在where条件中的字段不该建立索引

这个相信大家都知道。

分享到:
评论

相关推荐

    MySQL数据库:创建索引.pptx

    创建索引 数据索引 课程目标 理解 —— 创建索引的语法; 掌握 —— 在已有表上创建索引的方法; 掌握 —— 在修改表时添加索引的方法; 掌握 —— 在创建表时创建索引的方法。 创建索引 使用CREATE INDEX语句创建...

    MYSQL创建索引全过程

    代码复制粘贴 改下里面的参数 就可以用 而且参数 也有说明 简单易懂

    mysql实验报告+-+索引的创建与管理

    MySQL中的索引是一种数据库结构,用于加速数据查询速度。索引可以类比为书籍的目录,使得数据库系统能更快地定位到所需的数据行。在实验报告中,我们主要涉及了索引的创建、管理和维护,以及对不同类型的索引的操作...

    mysql中创建各种索引的语句整理.pdf

    Mysql中创建各种索引的语句整理 代码 添加PRIMARY KEY(主键索引) 添加UNIQUE(唯一索引) 添加INDEX(普通索引) 添加FULLTEXT(全文索引) 添加多列索引 ) mysql>ALTER TABLE `...

    MySQL 索引最佳实践

    ### MySQL索引最佳实践 #### 理解索引的重要性 在数据库管理中,索引是一种数据结构,用于提高查询速度。它对于开发者和数据库管理员(DBA)来说至关重要。索引选择不当可能会导致生产环境中的诸多问题。尽管索引...

    mysql存储与索引技术

    在索引优化方面,最左前缀原则是一个关键概念,这意味着复合索引只能按照索引创建时列的顺序部分使用,例如,INDEX(A, B, C)可以用于 WHERE A = x 或 WHERE A = x AND B = y 的查询,但不能单独用于 WHERE B = y 或 ...

    mysql 索引与执行计划

    MySQL提供了多种方法来创建、查看和删除索引: - **查看索引**: ```sql SHOW INDEX FROM table_name \G ``` - **创建索引**: ```sql CREATE [UNIQUE] INDEX indexName ON mytable(columnname(length)); ...

    MySQL索引 聚集索引

    MySQL索引 聚集索引 如果你想了解MySQL索引查询优化,你首先应该对MySQL数据组织结构、B-Tree索引、聚集索引,次要索引有一定的了解,才能够更好地理解MySQL查询优化行为。这里主要探讨MySQL InnoDB的聚集索引。

    MySQL索引类型大汇总

    MySQL 索引类型大汇总 MySQL 索引类型是数据库性能优化的关键所在。索引可以大幅度提高查询速度,提高数据库的高效运行。在 MySQL 中,索引可以分为单列索引和组合索引两种。 1. 普通索引 普通索引是最基本的索引...

    MySQL创建索引,查看以及删除

    总结,索引在MySQL数据库中扮演着重要角色,正确创建、管理和优化索引能显著提升数据库性能。理解各种索引类型,以及如何查看和删除索引,是每个数据库管理员和开发人员必备的技能。同时,结合实际业务需求,不断...

    MySQL数据库:使用NAVICAT工具创建和管理索引.pptx

    在MySQL中,索引的管理和创建是数据库性能优化的重要环节。NAVICAT是一款强大的数据库管理工具,支持多种数据库系统,包括MySQL,提供了一个直观的图形用户界面,使得数据库操作变得更为简单。 **创建索引** 1. **...

    MySQL索引优化课件

    MySQL索引优化是数据库性能提升的关键技术之一,尤其在处理大量数据时,高效索引能够显著加快查询速度,降低服务器负载。本课件主要聚焦于MySQL数据库的索引原理、优化策略以及相关存储过程和触发器的应用。 首先,...

    MySQL索引最佳实践

    ### MySQL索引最佳实践 #### 一、理解MySQL索引的重要性 索引是数据库性能优化中最常用也是最重要的手段之一。合理的索引设计可以显著提高查询效率,减少服务器资源的消耗。在MySQL中,索引的选择与配置对于开发...

    MySql索引详解,索引可以大大提高MySql的检索速度

    创建索引时,你需要确保该索引是应用在SQL查询语的条件(一般作为WHERE 子句的条件)实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。上面都在说使用索引的好处,但过多的使用索引将会造成...

    Mysql数据库索引创建、索引删除、索引失效场景详解

    总之,正确创建和维护索引对于优化MySQL数据库性能至关重要。了解各种索引类型、创建方法和可能导致失效的场景,可以帮助数据库管理员更好地管理和优化他们的数据库,从而提高查询效率和整体系统性能。

    MySQL索引 使用笔记

    【MySQL索引 使用笔记】 MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,其高效的数据查询能力在很大程度上依赖于索引。本笔记将深入探讨MySQL中的索引使用,旨在帮助你提升数据库性能。 1. 索引的...

    MySQL索引分析和优化.pdf

    ### MySQL索引分析和优化 #### 一、索引的重要性及原理 索引在数据库管理中扮演着极其重要的角色,特别是在提高数据检索速度方面。**MySQL索引**本质上是用来加快数据检索过程的一种数据结构,类似于书籍中的目录...

    mysql的索引优化

    - **索引结构**:MySQL索引通常是以B树形式存储的。B树具有良好的查询性能,即使在大型数据集中也能保持高效的查找能力。 - **索引的组成**:对于每个索引项,MySQL都会保存一个指向实际数据文件中记录位置的“指针...

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

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

Global site tag (gtag.js) - Google Analytics