哪些字段适合建立索引
经常需要进行更新操作的属性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
哪些字段适合建立索引相关推荐
- mysql建立索引 有什么缺陷_MySQL数据库建立索引的优缺点以及什么样的字段适合建立索引...
建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能. 第一.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二.可以大大加快 数据的检索速度,这也是创建索 ...
- mysql哪些字段适合索引_(转)Mysql哪些字段适合建立索引
简单梳理如下:1) 事务支持 MyISAM不支持事务,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把 ...
- (转)Mysql哪些字段适合建立索引
工作中处理数据时,发现某个表的数据达近亿条,所以要为表建索引提高查询性能,以下两篇文章总结的很好,记录一下,以备后用. 数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过 ...
- Mysql哪些字段适合建立索引
数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特 ...
- 对数据库索引的理解及适合建立索引的字段
因本人小白,总结一下别人总结的,勿怪勿怪.转载深入浅出数据库索引原理,哪些字段适合建立索引 问题 为什么要给表加上主键? 为什么加索引后会使查询变快? 为什么加索引后会使写入.修改.删除变慢? 什么情 ...
- 数据索引是什么?索引作用是什么?什么样的字段适合建索引?索引的优缺点是什么?
数据索引是什么?索引作用是什么?什么样的字段适合建索引?索引的优缺点是什么? 数据库索引,是数据库管理系统中一个排序的数据结构,索引的实现通常使用B树及其变种B+树.在数据之外,数据库系统还维护着满足 ...
- SQL查询优化方法 提高SQL查询效率 数据库的哪些字段适合添加索引
如何提高sql的查询效率 在正确的字段上创建索引. 优化查询sql的写法(特别是where语句的写法). 一.数据库的哪些字段适合添加索引 表的某个字段值得离散度越高,该字段越适合选作索引的关键字.主 ...
- 什么是索引?什么条件适合建立索引?什么条件不适合建立索引?
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记录数量越多 ...
- MySQL索引优化:索引失效以及不适合建立索引的场景
引言: 索引是有双面性的,合理的建立索引可以提高数据库的效率.但是如果没有合理的构建索引和使用索引,可能会导致索引失效或者影响数据库性能,本文主要讨论的是索引失效以及不适合建立索引的场景 结论:具体案 ...
最新文章
- Graph + AI 2021中国峰会:TigerGraph与行业共探图与AI应用前景
- Windows Phone 7 开“.NET研究”发之:工具栏
- SSH框架整合-慕课课程
- SHELL脚本 基础一
- ubuntu18.04安装pycharm专业版
- 整合NHibernate到Spring.Net (之一)
- spring cloud云服务架构 - particle云架构代码结构讲解
- declare sql语句_每天10分钟学习T-SQL语言基础(Part 5)
- 解决使用Servlet输出乱码问题(一行代码解决一切)
- easyvision视觉软件 源码_一对一直播源码都有哪些独具一格的优势?
- python程序设计上机实践第三章答案_20192419 实验三《Python程序设计》实验报告
- ReportViewer教程(12)-按组折叠
- padavan安装php,求助!帮忙解决newifi3路由器安装hiboy老毛子系统后开启onmp后打开phpmyadin出错!...
- python开放源代码的版本控制系统_几款版本控制工具SVN、GIT、CVS及Mercurial的比较...
- 趣谈网络协议笔记 - 通信协议综述
- 《游戏设计信条》【笔记】
- AMOS从零到基本操作入门(转载)
- mysql简历上怎么写_新手程序员简历应该怎么写?
- win7关闭系统自动备份
- html使用JQ调用移动端端相册功能的实现
热门文章
- .Net 微信开发与微信支付
- java web 实现qq发送邮箱验证码
- Nexus的权限管理及分配
- Win10问题篇:解决电脑连不上网的问题。
- Linux磁盘存储和文件系统
- MongoDB学习笔记~对集合属性的操作
- DDL和DML的定义和区别
- 网上报名考试管理系统-功能齐全安全稳定-简单易用-系统试用免费
- @ConfigurationProperties(prefix = “xx.xx.xx“)
- java.lang.IllegalStateException: Already resumed, but proposed with update xxxx