`

建立索引的规则

阅读更多

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

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

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

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

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

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

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

 7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:    A、正确选择复合索引中的主列字段,一般是选择性较好的字段;    B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;    C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;    D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;    E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;   

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

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

10 一个表一般最多建5个索引

 

分享到:
评论

相关推荐

    基于索引的SQL优化之降龙十八掌(一)

    降龙十八掌内功的入门基础,建立索引常用的规则如下: 1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引; 3、经常与其他表进行连接的表,在连接字段上应该建立索引; 4、经常出现在Where子句中的字段...

    Oracle索引优化相关

    Oracle数据库经典优化之索引原理篇 Oracle中建立索引并强制优化器 基于索引的SQL语句优化之降龙十八掌 30个Oracle语句优化规则详解-性能调优

    MySQL字符串索引更合理的创建规则讨论

    我们知道,MySQL中,数据和索引都是在一颗 B+树 上,我们建立索引的时候,这棵树所占用的空间越小,检索速度就会越快,而varchar格式的字符串有些会很长,那么在效率为上的今天,我们如何更加合理的建立字符串的索引...

    基于索引的SQL语句优化之降龙十八掌

    不过下面还是总结了一下降龙十八掌内功的入门基础,建立索引常用的规则如下: 1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引; 3、经常与其他表进行连接的表,在连接字段上应该建立索引; 4、经常...

    索引的原理及索引建立的注意事项

    聚集索引,数据实际上是按顺序存储的,数据页就在索引页上。就好像参考手册将所有主题按顺序编排一样。一旦找到了所要搜索的数据,就完成了这次搜索,对于非聚集索引,索引是安全独立于数据本身结构的,在索引中找到...

    最好的免索引全文搜索工具 - FileLocator中文绿色便携版

    FileLocator Pro 是一款专业的文件搜索软件,它内置了多种灵活的搜索规则来快速定位文件,如逻辑判断、通配符、正则...主要的特色是无需建立索引即可快速全文搜索,支持 Office、PDF 等大部分文档格式和各类压缩文件。

    MySQL创建全文索引分享

    它能够利用【分词技术】等多种算法智能分析出文本文字中关键词的频率和重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。 在MySql中,创建全文索引相对比较简单。例如:我们有一个文章表(article)...

    HBase中基于时空特征的监测视频大数据关联查询研究

    该方法采用HBase作为监测视频大数据时空特征索引结构,通过Z填充曲线对空间特征进行降维存储,并利用时间、空间与属性特征之间的关联及依赖规则来安排rowkey索引键,可有效解决传统的时空索引构建、维护困难的缺陷。...

    关于Sphinx创建全文检索的索引介绍

    本篇文章是对使用Sphinx创建全文检索的索引进行了详细的分析介绍,需要的朋友参考下

    Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

    3、索引失效场景(补充:以下在实际应用中并不会一定导致索引失效,基于mysql不同版本的优化规则) 3.1 在联合索引的场景下,查询条件不满足最左匹配原则 3.2 索引列参与了运算,会导致全表扫描,索引失效(除主键...

    基于位运算和倒排索引的关联规则挖掘算法

    该算法首先通过扫描两次数据库建立各个频繁项目集到事务的倒排索引,并对倒排索引按照事务长度进行分组,然后在挖掘过程中,利用位运算加快子集的检测,并在必要时动态删除无效的低维事务。实验结果表明,相比于经典...

    Oracle数据库设计提升性能的五条法则

    为了提升数据库的性能,在Oracle数据库设计的时候,要做到五条法则:一:在小型表上不要建立索引;二:不要用用户的键;三:不要用商务规则来实现数据的完整性;四:在可能的情况下,不要让前台应用程序直接访问数据...

    最新Lucene教程

    1、analysis对需要建立索引的文本进行分词、过滤等操作 2、standard是标准分析器 3、document提供对Document和Field的各种操作的支持。 4、index是最重要的包,用于向Lucene提供建立索引时各种操作的支持 5、...

    论文研究-基于STR算法的三维地质模型R树索引构建与分析.pdf

    针对三维结构模型中地质体层状分布、厚度较小、形状极不规则以及空间分布多样等特点,采用STR算法构建多体R树索引,分析了构建索引预处理过程和处理断层、全区域覆盖等类型地质体的方法。数据测试表明,基于STR算法...

    编写导入从mysql导入 es的规则jdbc.conf

    要使用logstash服务. 它的作用就是将mysql和es的建立一个通道,实现一个全量索引构建。编写导入从mysql导入 es的规则和sql

    Mysql 索引结构直观图解介绍

    一.模拟创建原始数据 下图中,左边是自己方便说明,模拟的数据。引擎为mysiam~ 右边是用EXCEL把它们随机排列后的一个正常仿真数据表,把主键按照1-27再排列(不随机的话我在模拟数据时本来...则建立索引a,就是新另建立

    SQL 数据库性能调优方面的总结

    建立索引和编写高效的sql语句能有效避免低性能操作;通过锁的调优解决并发控制方面的性能问题。数据库调优技术可以在不同的数据库系统中使用,它不必纠缠于复杂的公式和规则,然而它需要对程序的应用、数据库管理系统...

    论文研究-一种新的快速报文分类算法——RC-FST*.pdf

    RC-FST 算法利用IP 地址高8 比特前缀建立Hash 压缩索引表, 将分类规则集分成多个子集, 并针对每个子集建立快速搜索树, 而这些规模相对小的本地搜索树更利于实现快速建立、查找和优化。为提高搜索树性能, 在规则分割...

    文件搜索工具 FileLocator Pro 8.5 Build 2912 + x64.zip

    搜索结果则可以保存,尽管对文件名搜索的速度不及 Everything ,但是在 Microsoft筛选包 的支持下可以不建立索引对多种常用及不常用格式的文档进行快速全文搜索。 文件搜索工具 FileLocator Pro 中文多语特别版 ...

    siebel工作流管理指南

    siebel 7.7的 中文版的 bookshelf关于workflow的详细介绍。 目录: 第 1 章:本版本的最新资讯 第 2 章:Siebel Business Process Designer 概述 工作流程的一般原则 15 了解工作流程过程模块 16 ...索引

Global site tag (gtag.js) - Google Analytics