论索引技巧
1、并不是所有索引对查询都有效
SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时,
SQL查询可能不会去利用索引,如一表中有字段sex,male、female几乎各一半,
那么即使在sex上建了索引也对查询效率起不了作用
2、索引并不是越多越好
索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,
因为 insert 或 update 时有可能会**重建索引**,所以怎样建索引需要慎重考虑,视具体情况而定。
**一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有必要**。
3、应尽可能的避免更新 clustered 索引数据列
因为 clustered 索引数据列的顺序就是**表记录的物理存储顺序**,
一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。
若应用系统需要频繁更新 clustered 索引数据列,那么需要考虑是否应将该索引建为 clustered 索引。