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

原文:https://blog.csdn.net/maliao1123/article/details/52431144

哪些字段适合建立索引相关推荐

  1. mysql建立索引 有什么缺陷_MySQL数据库建立索引的优缺点以及什么样的字段适合建立索引...

    建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能. 第一.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二.可以大大加快 数据的检索速度,这也是创建索 ...

  2. mysql哪些字段适合索引_(转)Mysql哪些字段适合建立索引

    简单梳理如下:1) 事务支持 MyISAM不支持事务,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把 ...

  3. (转)Mysql哪些字段适合建立索引

    工作中处理数据时,发现某个表的数据达近亿条,所以要为表建索引提高查询性能,以下两篇文章总结的很好,记录一下,以备后用. 数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引:  2.数据量超过 ...

  4. Mysql哪些字段适合建立索引

    数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特 ...

  5. 对数据库索引的理解及适合建立索引的字段

    因本人小白,总结一下别人总结的,勿怪勿怪.转载深入浅出数据库索引原理,哪些字段适合建立索引 问题 为什么要给表加上主键? 为什么加索引后会使查询变快? 为什么加索引后会使写入.修改.删除变慢? 什么情 ...

  6. 数据索引是什么?索引作用是什么?什么样的字段适合建索引?索引的优缺点是什么?

    数据索引是什么?索引作用是什么?什么样的字段适合建索引?索引的优缺点是什么? 数据库索引,是数据库管理系统中一个排序的数据结构,索引的实现通常使用B树及其变种B+树.在数据之外,数据库系统还维护着满足 ...

  7. SQL查询优化方法 提高SQL查询效率 数据库的哪些字段适合添加索引

    如何提高sql的查询效率 在正确的字段上创建索引. 优化查询sql的写法(特别是where语句的写法). 一.数据库的哪些字段适合添加索引 表的某个字段值得离散度越高,该字段越适合选作索引的关键字.主 ...

  8. 什么是索引?什么条件适合建立索引?什么条件不适合建立索引?

    索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记录数量越多 ...

  9. MySQL索引优化:索引失效以及不适合建立索引的场景

    引言: 索引是有双面性的,合理的建立索引可以提高数据库的效率.但是如果没有合理的构建索引和使用索引,可能会导致索引失效或者影响数据库性能,本文主要讨论的是索引失效以及不适合建立索引的场景 结论:具体案 ...

最新文章

  1. Graph + AI 2021中国峰会:TigerGraph与行业共探图与AI应用前景
  2. Windows Phone 7 开“.NET研究”发之:工具栏
  3. SSH框架整合-慕课课程
  4. SHELL脚本 基础一
  5. ubuntu18.04安装pycharm专业版
  6. 整合NHibernate到Spring.Net (之一)
  7. spring cloud云服务架构 - particle云架构代码结构讲解
  8. declare sql语句_每天10分钟学习T-SQL语言基础(Part 5)
  9. 解决使用Servlet输出乱码问题(一行代码解决一切)
  10. easyvision视觉软件 源码_一对一直播源码都有哪些独具一格的优势?
  11. python程序设计上机实践第三章答案_20192419 实验三《Python程序设计》实验报告
  12. ReportViewer教程(12)-按组折叠
  13. padavan安装php,求助!帮忙解决newifi3路由器安装hiboy老毛子系统后开启onmp后打开phpmyadin出错!...
  14. python开放源代码的版本控制系统_几款版本控制工具SVN、GIT、CVS及Mercurial的比较...
  15. 趣谈网络协议笔记 - 通信协议综述
  16. 《游戏设计信条》【笔记】
  17. AMOS从零到基本操作入门(转载)
  18. mysql简历上怎么写_新手程序员简历应该怎么写?
  19. win7关闭系统自动备份
  20. html使用JQ调用移动端端相册功能的实现

热门文章

  1. .Net 微信开发与微信支付
  2. java web 实现qq发送邮箱验证码
  3. Nexus的权限管理及分配
  4. Win10问题篇:解决电脑连不上网的问题。
  5. Linux磁盘存储和文件系统
  6. MongoDB学习笔记~对集合属性的操作
  7. DDL和DML的定义和区别
  8. 网上报名考试管理系统-功能齐全安全稳定-简单易用-系统试用免费
  9. @ConfigurationProperties(prefix = “xx.xx.xx“)
  10. java.lang.IllegalStateException: Already resumed, but proposed with update xxxx