日期:2014-05-16  浏览次数:20672 次

关于索引的建立规则

最近开始恶补数据库,整理索引的一般规则如下:

  1. 表列和索引有同样的值集,只不过是索引是排过序的;因此找到内容的时间更少。
  2. 索引一般采用B树算法,一般常使用的为二叉树算法。
  3. 在小表上建立索引通常没有意义,会降低性能而不是提高。比如:如果表有50行,那么扫描他会比使用B树算法更快。
  4. 在大表上,只有当涉及索引列的查询检索小百分比的行(通常因小于15%)时,才应该建立索引。
  5. 索引通常在用于表联接的列上会有用。
  6. 索引会使涉及索引列的DML操作减慢-例如,如果更新一个这样的列上的值,则这个索引列也必须更新;并且如果插入一行,则相应的索引可能必须重新排序,(例如一个B树索引可能必须重新调整),因此如果对一个表进行平凡更新、插入或删除,则推荐使用较少的索引