广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 索引的优缺点以及创建索引的准则
  • 206
分享到

MySQL 索引的优缺点以及创建索引的准则

MySQL索引MySQL索引优缺点MySQL创建索引的准则 2022-05-31 15:05:40 206人浏览 独家记忆
摘要

一、为什么要创建索引呢(优点) 这是因为,创建索引可以大大提高系统的性能。 第一, 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二, 可以大大加快数据的检索速度,这也是创建索引的最主要的原

一、为什么要创建索引呢(优点)

这是因为,创建索引可以大大提高系统的性能。

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

二、建立方向索引的不利因素(缺点)

也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点,但是,为表中的每一个列都增加索引,是非常不明智的。这是因为,增加索引也有许多不利的一个方面。

  • 第一, 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
  • 第二, 索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
  • 第三, 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

三、设计索引的准则

索引是建立在数据库表中的某些列的上面。因此,在创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。

一般来说,应该在这些列上创建索引。

  • 第一, 在经常需要搜索的列上,可以加快搜索的速度;
  • 第二, 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;
  • 第三, 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;
  • 第四, 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
  • 第五, 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;
  • 第六, 在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

同样,对于有些列不应该创建索引。一般来说,不应该创建索引的的这些列具有下列特点:

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

以上就是Mysql 索引的优劣以及创建索引的准则的详细内容,更多关于mysql 索引的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 索引的优缺点以及创建索引的准则

本文链接: https://www.lsjlt.com/news/9842.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL 索引的优缺点以及创建索引的准则
    一、为什么要创建索引呢(优点) 这是因为,创建索引可以大大提高系统的性能。 第一, 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二, 可以大大加快数据的检索速度,这也是创建索引的最主要的原...
    99+
    2022-05-31
    MySQL 索引 MySQL 索引优缺点 MySQL 创建索引的准则
  • MySQL索引的优缺点是什么
    这篇文章主要讲解了“MySQL索引的优缺点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL索引的优缺点是什么”吧!在 SQL 优化中,索引是至...
    99+
    2022-10-19
  • mysql创建索引的原则有哪些
    创建索引的原则有以下几点:1. 选择合适的列:选择作为索引的列应该是经常用于查询和连接的列,而不是很少使用的列。2. 索引的选择性:...
    99+
    2023-09-21
    mysql
  • mongodb中索引分类是怎样的以及如何创建索引
    mongodb中索引分类是怎样的以及如何创建索引,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。学习索引分类和创建索引:   &nbs...
    99+
    2022-10-18
  • MySQL索引创建原则的示例分析
    小编给大家分享一下MySQL索引创建原则的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、适合创建索引1、字段的数值有唯一性限制根据Alibaba规范,...
    99+
    2023-06-29
  • MySQL聚簇索引的优缺点是什么
    这篇文章主要介绍“MySQL聚簇索引的优缺点是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL聚簇索引的优缺点是什么”文章能帮助大家解决问题。1. 什么...
    99+
    2023-04-21
    mysql
  • Mysql 索引(三)—— 不同索引的创建方式(主键索引、普通索引、唯一键索引)
    了解了主键索引的底层原理,主键索引其实就是根据主键字段建立相关的数据结构(B+树),此后在使用主键字段作为条件查询时,会直接根据主键查找B+树的叶子结点。除了主键索引外,普通索引和唯一键索引也是如此,只不过普通索引要稍微绕一点,下面会具体介...
    99+
    2023-09-12
    mysql 数据库 java
  • MySQL数据库中建立索引的优缺点有哪些
    MySQL数据库中建立索引的优缺点有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。为什么要创建索引呢  这是因为,创建索引可以大大提高系统...
    99+
    2022-10-18
  • sql索引的优缺点有哪些
    SQL索引的优点:1. 提高查询性能:索引可以加快查询速度,通过创建索引,数据库可以直接定位到要查询的数据,而不是全表扫描。2. 加...
    99+
    2023-09-05
    sql
  • db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议
    db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议   建立表索引     create index 索引名 on 表名(列名,列名); 删除表索引     dro&#...
    99+
    2018-09-15
    db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议
  • MySQL 覆盖索引的优点
    一个通常的建议是为WHERE条件创建索引,但这其实是片面的。索引应当为全部查询设计,而不仅仅是WHERE条件。索引确实能有效地查找数据行,但MySQL也能够使用索引获取列数据,这样根本不需要去读取一行...
    99+
    2022-05-30
    MySQL 覆盖索引 MySQL 覆盖索引优点
  • MySQL索引优化之不适合构建索引及索引失效的几种情况详解
    目录结论不建议建立索引的场景索引失效的场景小结结论 具体案例下文有详尽描述 不适合建立索引的场景: 数据量比较小的表不建议建立索引有大量重复数据的字段上不建议建立索引(类似:性别字段)需要进行频繁更新的表不建议建立索引w...
    99+
    2022-07-29
    MySQL 索引优化 MySQL 不适合构建索引的场景
  • MySQL索引的创建与使用
    索引的分类   在学习如何创建索引之前,先了解一下索引的分类   MySQL中分为:普通索引,唯一索引,主键索引,组合索引,和全文索引。 index_name :索引名 table:表名 colu...
    99+
    2023-10-18
    mysql 数据库 java
  • MySQL优化及索引的方法
    这篇“MySQL优化及索引的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL优化及索引的方法”文章吧。索引简单介...
    99+
    2023-06-29
  • MySQL索引及优化的知识点有哪些
    这篇文章主要介绍“MySQL索引及优化的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL索引及优化的知识点有哪些”文章能帮助大家解决问题。索引是...
    99+
    2023-04-06
    mysql
  • 《MySQL高级篇》六、索引的创建与设计原则
    文章目录 1. 索引的声明与使用1.1 索引的分类1.2 创建索引1、创建表的时候创建索引2、在已经存在的表上创建索引 1.3 删除索引 2. MySQL 8.0 索引新特性2.1 ...
    99+
    2023-09-01
    MySQL
  • MySQL中字符串索引的创建规则有哪些
    MySQL中字符串索引的创建规则有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如何更好的创建字符串索引我们知道,MySQ...
    99+
    2022-10-18
  • mysql索引的类型、优缺点、常用操作命令
            现在来介绍了数据库索引,及其优、缺点。针对MySQL索引的特点、应用进行了详细的描 述。分析了如何避免MySQL无法使用,如何使用EXPLAIN分析查...
    99+
    2022-10-18
  • mysql索引建立的原则是什么
    小编给大家分享一下mysql索引建立的原则是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!尽量选择区分度高的列来建立索引。频繁查询列适合建立索引。遇到联合索引时,想想最左边的匹配原则。like模糊查询时,%在前面时才会...
    99+
    2023-06-25
  • MySQL几种创建索引的方式
    一、创建表时创建索引 key 索引名 (column); 二、表创建好后创建索引 通过Alter创建索引 ①PRIMARY  KEY(主键索引)         mysql > ALTER  TABLE  `table_name`  A...
    99+
    2023-09-01
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作