数据库创建索引的一些原则
时间:2010-09-08 来源:大斌
一,经常被用来过滤记录的字段。
1. primary key 字段, 系统自动创建主键的索引;
2. unique kye 字段,系统自动创建对应的索引;
3. foreign key 约束所定义的作为外键的字段;
4. 在查询中用来连接表的字段;
5. 经常用来作为排序(order by 的字段)基准的字段;
二. 索引会占用磁盘空间,创建不必要的索引只会形成浪费.
三. 索引的创建必须考虑数据的操作方式。
1.内容很少变动,经常被查询,为它多创建几个索引無所谓;
2.经常性,例行性变动的表而言,则需要谨慎地创建确实必要的索引;
四. primary key 和 unique key的区别
1. 作为Primary Key的域/域组不能为null。而Unique Key可以。
2. 在一个表中只能有一个Primary Key,而多个Unique Key可以同时存在。
更大的区别在逻辑设计上, Primary Key一般在逻辑设计中用作记录标识,这也是设置
Primary Key的本来用意, 而Unique Key只是为了保证域/域组的唯一性。
五,复合索引和单一索引
复合索引是指多字段联合索引,查询时经常需要这几个字段组合一起为条件再查询
唯一索引主要是用主键ID索引,存储结构顺序与物理结构一致
如:create index idx on tbl(a,b)
先按a排序, a相同的按b排序,所以当你查a或ab的时候,
能够利用到这个索引.但当你只查b的时候,索引对你的帮助不大.可能可以跳跃查找.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tenfyguo/archive/2009/03/09/3974448.aspx