SQL索引建立遵守六大铁律

铁律一:天下没有免费的午餐,使用索引是需要付出代价的。

铁律二:对于查询中很少涉及的列或者重复值比较多的列,不要建立索引。

铁律三:对于按范围查询的列,最好建立索引。

铁律四:表中若有主键或者外键,一定要为其建立索引。

铁律五:对于一些特殊的数据类型,不要建立索引。

铁律六:索引可以跟Where语句的集合融为一体。

时间: 2024-10-18 23:53:21

SQL索引建立遵守六大铁律的相关文章

sql 索引 的建立

(From:http://54laobaixing.blog.163.com/blog/static/57843681200952411133121/) 假设你想找书中的某一个句子.你可以一页一页地逐页搜索,但这会花很多时间.而通过使用索引, 你可以很快地找到你要搜索的主题.      表的索引与附在一本书后面的索引非常相似.它可以极大地提高查询的速度.对一个较大的表来说, 通过加索引,一个通常要花费几个小时来完成的查询只要几分钟就可以完成.因此没有理由对需要频繁查 询的表增加索引.   注意:

SQL Server,Oracle,DB2索引建立语句的对比

原文引至:http://jvortex.blog.163.com/blog/static/16961890020122141010878/ 我们知道,索引是用于加速数据库查询的数据库对象.原理就是减少查询的IO操作,从而达到加速的目的.本文我们主要对SQL Server,Oracle,DB2上的索引建立语句进行了总结,接下来就让我们一起来了解一下这部分内容. 索引的种类: 聚集索引:根据数据行的键值在表或视图中排序和存储这些数据行. 非聚集索引:具有独立于数据行的结构. 唯一索引:确保索引键不包

索引建立的原则

数据库建立索引的原则 铁律一:天下没有免费的午餐,使用索引是需要付出代价的 索引的优点有目共睹, 但是, 却很少有人关心过采用索引所需要付出的成本. 若数据库管理 员能够对索引所需要付出的代价有一个充分的认识,也就不会那么随意到处建立索引了. 仔细数数, 其实建立索引的代价还是蛮大的. 如创建索引和维护索引都需要花费时间与精力. 特别是在数据库设计的时候,数据库管理员为表中的哪些字段需 要建立索引,要调研.要 协调. 如当建有索引的表中的纪录又增加.删除. 修改操作时,数据库要对索引进行重新调

SQL索引工作原理

SQL 当一个新表被创建之时,系统将在磁盘中分配一段以8K为单位的连续空间,当字段的值从内存写入磁盘时,就在这一既定空间随机保存,当一个8K用完的时候, SQLS指针会自动分配一个8K的空间.这里,每个8K空间被称为一个数据页(Page),又名页面或数据页面,并分配从0-7的页号,每个文件的第0页记录引导信息,叫文件头(File header):每8个数据页(64K)的组合形成扩展区(Extent),称为扩展.全部数据页的组合形成堆(Heap). SQLS 规定行不能跨越数据页,所以,每行记录的

SQL索引一步到位

SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子: 图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排,b开头的在第二排, 这样在找什么书就好说了,这个就是一个聚集索引,可是很多人借书找某

SQL索引器

1.什么是SQL索引器 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息. 数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 例如这样一个查询:select * from table1 where id=44.如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止:有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行.可见,索引是用来定位的. 2.聚簇

数据库性能优化一:SQL索引一步到位

SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子: 图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排,b开头的在第二排,这样在找什么书就好说了,这个就是一个聚集索引,可是很多人借书找某某

SQL——索引

索引是根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表.在数据库系统中建立索引主要有以下作用: l快速存取数据: l保证数据记录的唯一性: l实现表与表之间的参照完整性: l在使用ORDER BY.GROUP BY子句进行数据检索时,利用索引可以减少排序和分组的时间. 1.聚集索引 聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致.SQL Server 是按B树(BTREE)方式组织聚集索引的,B树方式构建为包含了多个节点的一棵树.顶部的节

【SQL server初级】SQL索引(一)

SQL索引[一](此文章为"数据库性能优化二:数据库表优化"附属文章之一) SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子: 图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排