建立索引的规则

标签: 索引 规则 | 发表时间:2014-03-06 23:17 | 作者:joezheng123
出处:http://www.iteye.com

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

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

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

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

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

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

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

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

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

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

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

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [索引 规则] 推荐:

建立索引的规则

- - 数据库 - ITeye博客
建立索引常用的规则如下:  . 1、表的主键、外键必须有索引;  . 2、数据量超过300的表应该有索引; . 3、经常与其他表进行连接的表,在连接字段上应该建立索引;   . 4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;  . 5、索引应该建在选择性高的字段上;   . 6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;  .

html嵌套规则

- - Web前端 - ITeye博客
转载: http://www.studyofnet.com/news/412.html. 一、HTML 标签包括 块级元素(block)、内嵌元素(inline). 一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:. 一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:.

wireshark过滤规则

- - CSDN博客推荐文章
WireShark 过滤 语法  . 过 滤 IP,如来源IP或者目标IP等于某个IP. ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP. tcp.port eq 80 // 不管端口是来源的还是目标的都显示. tcp.dstport == 80 // 只显tcp协议的目标端口80.

ElasticSearch 索引 VS MySQL 索引

- - crossoverJie's Blog
这段时间在维护产品的搜索功能,每次在管理台看到 elasticsearch 这么高效的查询效率我都很好奇他是如何做到的. 这甚至比在我本地使用 MySQL 通过主键的查询速度还快. 这类问题网上很多答案,大概意思呢如下:. Lucene 的全文检索引擎,它会对数据进行分词后保存索引,擅长管理大量的索引数据,相对于.

SQL Server--索引

- - CSDN博客推荐文章
         1,概念:  数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力..             2.1优点:  1,大大加快搜索数据的速度,这是引入索引的主要原因..                             2,创建唯一性索引,保证数据库表中每一行数据的唯一性..

MongoDB 索引

- - 博客园_首页
索引是用来加快查询的,数据库索引与数据的索引类似,有了索引就不需要翻遍整本书,数据库可以直接在索引中查找,. 使得查询速度很快,在索引中找到条目后,就可以直接跳转到目标文档的位置.. 要掌握如何为查询配置最佳索引会有些难度.. MongoDB索引几乎和关系型数据库的索引一样.绝大数优化关系型数据库索引的技巧同样适用于MongoDB..

倒排索引

- - ITeye博客
倒排索引是文档检索系统中最常见的数据结构,被广泛的应用于搜索引擎. 它是一种根据内容查找文档的方式. 由于不是根据文档来找内容,而是根据进行了相反的操作,因此叫做倒排索引. 倒排索引的一个简单结构如下图所示:. 最常见的是使用词频作为权重,即单词在一个文档中出现的次数. 因此,当搜索条件为“MapReduce”“is”“simple”的时候,对应的集合为{(0.txt,1),(1.txt,1),(2.txt,2)}且{(0.txt,1),(1.txt,2)}且{(0.txt,1),(1.txt,1)}={0.txt,1.txt}.

索引原理

- - ITeye博客
索引是存储引擎用于快速找到记录的一种数据结构. 也就会说索引也是一种数据结构,也占用磁盘空间. 索引是对查询优化最有效的手段,可以将查询提升几个数量级,相当牛掰啊. 1)索引大大减少了服务器需要扫描的数据量. 2)索引可以帮助服务器避免排序和临时表. 3)索引可以将随机IO变为顺序IO. 数据库索引可以想象成一本书的目录,如果想在一本书中找到某个主题,那么先到书的目录中找到这个主题,然后根据目录提供的页码,找到要找的主题.

倒排索引

- - CSDN博客推荐文章
倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射. 它是文档检索系统中最常用的数据结构. 有两种不同的反向索引形式:. 一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表.

oracle 索引

- - 数据库 - ITeye博客
        自动:在使用primary和unique后系统会自动创建唯一索引.         手动:create   index   索引名  on 表名(字段1,....). 查询表上有哪些索引(网上找的,能用,表名和索引名要大写). 1、查找表的所有索引(包括索引名,类型,构成列):. select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表.