建立索引常用的规则如下
建立索引常用的规则如下:
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。
来源:http://bbs.csdn.net/topics/330046821
相关文章:http://wenku.baidu.com/view/f8a74046a8956bec0975e366.html
建立索引常用的规则如下相关推荐
- MySQL索引介绍,普通索引,全文索引,空间索引,多列索引使用原则,建立索引常用的规则
转自:https://blog.csdn.net/tomorrow_fine/article/details/78337735 1.MySQL在创建数据表的时候创建索引 在MySQL中创建表的时候,可 ...
- 数据库建立索引常用的规则
数据库建立索引常用的规则如下: 查看全文 http://www.taodudu.cc/news/show-3587136.html 相关文章: hive中如何建立索引 oracle数据库分区表建立索引 ...
- mysql按升序创建索引_MySQL建立索引的基础规则
1.mysql索引(基础与规则) 索引规则: 一.MySQL建表,字段需设置为非空,需设置字段默认值. 二.MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL. 三.MySQL建表 ...
- 数据库建立索引常用的原则
1.表的主键.外键必须有索引; 2.数据量超过300的表应该有索引; 3.经常与其他表进行连接的表,在连接字段上应该建立索引; 4.经常出现在Where子句中的字段,特别是大表的字段,应该建立索引; ...
- [转]数据库建立索引的一般依据
建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特别是大 ...
- (转)Mysql哪些字段适合建立索引
工作中处理数据时,发现某个表的数据达近亿条,所以要为表建索引提高查询性能,以下两篇文章总结的很好,记录一下,以备后用. 数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过 ...
- Mysql哪些字段适合建立索引
数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特 ...
- Oracle建立索引的原则
1.数据库建立索引的原则 铁律一:天下没有免费的午餐,使用索引是需要付出代价的. 铁律二:对于查询中很少涉及的列或者重复值比较多的列,不要建立索引. 铁律三:对于按范围查询的列,最好建立索引. 铁律四 ...
- 数据库建立索引、数据表创建规则、备用字段 / 保留字段 / 预留字段
数据库建立索引 数据库.数据表建立索引的原则 数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作. 2,尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在w ...
最新文章
- 二叉树的遍历:前序、中序、后序遍历
- 一款监控网络状态的好工具- Smokeping
- 用ElasticSearch存储日志
- 解决克隆clone github 仓库速度过慢的问题
- SAP License:ERP面试记
- 怎么查计算机二级证书到没到学校,今年3月份考的全国计算机二级,结果忘记去领证书了,我是在城建学院考的,还会给我留着吗?这证书能补办吗...
- cv如何连接mysql_Naicvat操作数据库的基本操作
- AtCoder ARC 076D - Built?
- 牛客网算法之洗牌详解
- shawn的博客开通啦
- 全球领导人齐聚一堂,出席10月14日召开的2021年全球包容性增长峰会
- windows系统下的文件长名和文件短名
- Access Key / Secret key 密钥安全原理架构
- Camera Hal OEM模块 ---- cmr_grab.c
- 解析今日头条as,cp,_signiture参数---as,cp
- 韶音骨传导耳机好不好用?韶音与南卡骨传导耳机评测对比
- iis 自动重启的bat
- 通过ua区分QQ内置浏览器与QQ浏览器
- 已知分布函数求概率密度例题_二次函数讲义(三)
- 一篇文章带你深入理解什么是负载测试
热门文章
- python对list中所有数值类型转换
- php v9 ajax 翻页,phpcms v9建站 ajax列表分页加载更多word文档教程
- knn聚类还是分类_数据分析基本算法模型之KNN算法
- linux cpu漏洞,【图片】为什么linux mint上cpu漏洞直到现在也没完全修复?_linux吧_百度贴吧...
- springboot 整合retry(重试机制)
- 如何做一名专业的软件测试工程师
- php获取地址栏id,如何解决php urldecode乱码问题
- Linux进程及进程管理命令
- MyISAM与InnoDB区别
- Java为什么会有默认的背景色_java – 为什么我的背景颜色不会在JFrame中...