`

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

 
阅读更多

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

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

分享到:
评论

相关推荐

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

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

    数据库设计及使用规范.pdf

    常用单词缩写三个字母以上第一个字母大写,例如:Xml 1.2 表名和字段 规则如下: 使用英文单词或词组作为表名,不得使用汉语拼音 用名词和名词短语作表名 不使用复数 用 Pascal 命名规则 尽量谨慎地使用缩写 尽量...

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

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

    最新Lucene教程

    Ø Lucene中的类主要组成如下: 1)org.apache.1ucene.analysis语言分析器,主要用于的切词Analyzer是一个抽象类,管理对文本内容的切分词规则。 2)org.apache.1uceene.document索引存储时的文档结构管理,类似于...

    SQL性能优化

    建立索引常用的原则如下: 1. 表的主键、外键必须有索引 2. 数据量超过 1000 行的表应该有索引 3. 经常与其它表进行连接的表,在边接字段上应建立索引 4. 经常出现在 where 子句中的字段且过滤性极强的,特别是大表...

    基于命令行的简单数据库系统

    当数据量比较大的时候,请大家建立索引,并通过索引加快查询速度(选作) 要求: 1、 不能使用Cstring.h,string等类,只能使用char* 来处理字符串 2、 能够动态的申请和分配内存 上交的内容: 1、.cpp、.h、....

    高级SQL优化(二)

    1.索引对不等号和NOT的限制RBO模式下,执行计划如下:1.索引对不等号和NOT的限制RBO模式下,执行情况如下:此时使用变通写法的耗费为:0.407/2.187=1.60%!1.索引对不等号和NOT的限制CBO模式下,执行情况如下:此时...

    数据库表设计命名规范.doc

    索引须按照IDX_table_<table>_,其中是建立索引的表名,是建立索引的字段名 ; 2. 索引名限制在30个字符内,当索引名超过30字符时,可用缩写来减少索引名的长度, 如description --> desc;information --> info;...

    数据库课程设计题目汇总.doc

    (4)掌握主流数据库开发及系统设计技术,具体要求如下: 关系数据库采用Oracle、 SqlServer、MySQL等; 开发语言采用JSP+Java或.Net等; 系统构架采用SSH、SSM等MV C多层结构; 运行模式为B/S模式,要求至少能在...

    搜索引擎代码

    1.增加客户端蜘蛛功能,多线程抓取快照,建立索引,更加高效、稳定。(重要) 2.初步完成插件机制,为以后的程序功能扩展提供基础。(重要) 3.对搜索列表页面进行SEO处理,避免百度、Google等搜索引擎陷入链接陷阱。...

    轻量级JAVA实时业务风控系统框架.zip

    背景 当前互联网企业存在很多业务风险,有些风险(比如薅羊毛)虽然没有sql注入漏洞利用来的直接,但是一直被羊毛党、刷单党...建议在mongodb聚合的维度上建立索引,这样可以使用内存计算,速度较快。 redis性能优于mo

    zzcpython爬虫.rar

    爬虫的工作过程通常如下: 1. 发送HTTP请求:爬虫根据预设的规则,向目标网站发送HTTP请求,并获取网页的内容。 2. 解析网页:爬虫分析网页的HTML结构,通过各种技术(例如正则表达式、XPath、CSS选择器等)找到想要...

    baidupython爬虫.rar

    爬虫的工作过程通常如下: 1. 发送HTTP请求:爬虫根据预设的规则,向目标网站发送HTTP请求,并获取网页的内容。 2. 解析网页:爬虫分析网页的HTML结构,通过各种技术(例如正则表达式、XPath、CSS选择器等)找到想要...

    0x13douban-yingping.rar

    爬虫的工作过程通常如下: 1. 发送HTTP请求:爬虫根据预设的规则,向目标网站发送HTTP请求,并获取网页的内容。 2. 解析网页:爬虫分析网页的HTML结构,通过各种技术(例如正则表达式、XPath、CSS选择器等)找到想要...

    autohomepython爬虫.rar

    爬虫的工作过程通常如下: 1. 发送HTTP请求:爬虫根据预设的规则,向目标网站发送HTTP请求,并获取网页的内容。 2. 解析网页:爬虫分析网页的HTML结构,通过各种技术(例如正则表达式、XPath、CSS选择器等)找到想要...

    入门学习Linux常用必会60个命令实例详解doc/txt

    其界面一般如下: Changing fihanging shell for cao Password: New shell [/bin/bash]: /bin/tcsh 上面代码中,[ ]内是目前使用的Shell。普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。要想...

    数据库原理及应用实验(共6个).zip

    5、为Course表的Cname列建立一个唯一索引,索引名Cname_idx。 6、分离数据库XSCJ并拷贝文件至U盘保存好,用于下次实验;然后再将其附加上。 7、删除唯一索引Cname_idx。 8、删除基本表Student。 实验2 数据查询 将...

    数据库设计重、难点.doc

    划分数据库操作任务的规则如下:1,2,3,4(P148) 7.2.4 定义数据项(DD) 7.2.5 预测未来的改变 7.3 概念设计 概念设计的任务包括数据库概念模式设计和事务设计两个方面。其中事务设计的任务 是,考察需求分析...

    Oracle9i的init.ora参数中文说明

    用来建立数据库连接的唯一服务名。如果要在没有调度程序的情况下仍能连接到数据库, 请将该值设置为与例程名相同。此参数自 8.1.3 版起已废弃。 值范围: 根据操作系统而定。 默认值 :0 mts_sessions: 说明 : 指定...

Global site tag (gtag.js) - Google Analytics