bitsCN.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql索引要点_mysql表索引的一些要点_MySQL相关推荐

  1. oracle查询表唯一索引,oracle查询索引(oracle查看表索引)

    oracle查询索引(oracle查看表索引) 2020-07-24 11:01:26 共10个回答 选中表右键View然后查看index 通过PL/SQL可以直接查看某表是否建索引,通过SQL查询s ...

  2. mysql为什么要重建索引_MySQL表索引为什么会遭破坏?

    此文章主要向大家描述的是MySQL表索引被破坏的问题的产生缘由,以及针对这一问题我们给出其具体的解决方案,下面的文章就是对其相关内容的具体介绍,希望在你今后的学习中会有所帮助. 下午上班,惊闻我的de ...

  3. mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...

    一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 upda ...

  4. mysql 破坏索引_mysql表索引被破坏的问题及解决

    用mysql的用户,经常会遇到这样的问题,检查mysql日志,错误信息为: Table '.\dedecmsv4\dede_archives' is marked as crashed and sho ...

  5. mysql表出现crash 修复_MySQL表索引损坏致Crash及修复过程实例

    --------------(大量相同的报错)---------------- 2017-08-31T11:11:04.291424Z 32394522 [ERROR] InnoDB: Record ...

  6. MySQL建库建表索引规范

    https://mp.weixin.qq.com/s/-_m-OJ_PUXrw8Gey2ZA9aA

  7. mysql 一对多 右表多条记录合并_MYSQL 单表一对多查询,将多条记录合并成一条记录...

    一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实现SQL语句: SELECT a.books, GRO ...

  8. Mysql的联合查询的索引小结

    1.顺带提一下mysql的sql执行顺序: FORM: 对FROM的左边的表和右边的表计算笛卡尔积.产生虚表VT1 ON: 对虚表VT1进行ON筛选,只有那些符合<join-condition& ...

  9. SQL Server索引概要(3)-聚集索引和非聚集索引的区别

    索引用于加速 SQL Server 中的查询过程,从而提高性能.它们类似于教科书索引.在教科书中,如果您需要转到特定章节,请转到索引,找到该章节的页码并直接转到该页面.如果没有索引,查找所需章节的过程 ...

最新文章

  1. 曾经用过的Sql Server分页方法小结
  2. matlab小技巧与verilog小技巧
  3. Spring IOC 组件概述
  4. java action上传文件_java实现文件上传
  5. Parity Game CodeForces - 298C
  6. element vue 上传模板_vue+element 文件上传
  7. java国际化——资源包
  8. Angular通过XHR加载模板而限制使用file://(解决方案)
  9. IOS UIKit基础控件的使用
  10. 计算机毕业论文房地产营销,万科集团四季花城房地产营销策略研究(毕业论文)...
  11. Mysql 分组查询取max 那条记录其他字段
  12. 全球100位最佳工程师,开发人员,编码人员和企业家,可以在线关注他们的github,推特,网站等
  13. 什么是嵌入式服务器?为什么要使用嵌入式服务器? -- java面试
  14. jq 自动打开浏览器_微信QQ跳转浏览器打开代码
  15. Opencv -- 18图像像素类型转换与归一化
  16. 神经网络学习(3)————BP神经网络以及python实现
  17. jdk1.8的安装教程
  18. 端口转发工具 rinetd
  19. 备战数学建模9-层次分析法模型
  20. VMware打开虚拟机,会立即导致宿主机重启

热门文章

  1. 2022-02-13
  2. Ubantu16.4下fabric环境搭建
  3. [INSHack2018]Tricky-Part1
  4. Python正则表达式之额外补充(7)
  5. Web安全实战训练营
  6. 160个Crackme011
  7. 1.3 Error和Exception的异同
  8. Python爬虫学习获取腾讯新闻并存入Csv文件
  9. 142. 前缀统计【trie】
  10. MySQL之运算符和函数