mysql索引建多了有什么坏处

mysql索引建多了有什么坏处

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

1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112520.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 杭州电子科技大学Online Judge 之 “确定比赛名次(ID1285)”解题报告

    杭州电子科技大学Online Judge 之 “确定比赛名次(ID1285)”解题报告

    2022年1月27日
    39
  • arm64(aarch64)安装centos 7.5.1804

    arm64(aarch64)安装centos 7.5.1804总体说明Arm64的centos版本自7.5.1804以后不再和7.4、7.3、7.2等之前的一样直接提供一个rootfs.tar.xz的压缩包,全部变成了ISO的安装文件,因此需要EFI来引导安装,如果Aarch64的cpu用的是uboot就只有干瞪眼了,笔者花了一翻功夫,终于找到如何从ISO中提取出centos7.5.1804文件系统的方法,方便使用uboot的用户可以使用centos7….

    2022年10月16日
    0
  • 注册公司事宜(注册公司需要什么条件)

    本公司专主代办广州注册公司,广州公司注册,创业者可选择的注册公司主要有两类:一是在海外注册公司,二是在内地如广州注册公司,。不管在国内注册还是在海外基本的操作模式都是相同的,只不过对于成立的公司在手续、税收等政策上有点不同,但就是这点不同,会对未来的公司造成巨大的影响。一、在海外注册公司与广州注册公司的区别      创办企业者可以选择在海外注册公司,现在流行的注册海外公司的方法是注册离岸公司。

    2022年4月11日
    45
  • PyQt5开发学习(一)–在Pycharm使用PyQt5

    PyQt5开发学习(一)–在Pycharm使用PyQt5安装PyQt5PyCharm对每个工程,都有独立的系统环境,工程需要的每个库,都可以安装在工程目录下,而不是安装在系统目录下。如果安装太慢,可以更改PIP的源,如下:清华:https://pypi.tuna.tsinghua.edu.cn/simple豆瓣:http://pypi.douban.com/simple/阿里:http://mirrors.aliyun.com/py…

    2022年8月26日
    9
  • java 图书馆管理系统(面向接口编程)

    java 图书馆管理系统(面向接口编程)图书馆管理系统功能要求:1.图书馆(对书本的管理)  1.初始化图书馆的书本  2.图书馆有提供借书给用户的功能  3.图书馆有提供用户还书到图书馆的功能  4.图书馆提供查询图书馆的所有图书的功能2.用户系统(对用户管理)  1.初始化用户  2.用户管理提供注册用户的功能(用户名:首字母小写,至少6位。密码:必须包含小写字母,大写字

    2022年7月7日
    32
  • jsp实现表单提交跳转「建议收藏」

    jsp实现表单提交跳转「建议收藏」页面介绍login.jsp用户登录页面,提交给process.jsp。process.jsp处理页面,若用户名为“admin”,密码为“000”,则跳转到show.jsp,否则跳转login.jsp。show.jsp列出登录页面的属性。源代码login.jsp<formaction=”process.jsp”method=”post”>…

    2022年10月1日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号