索引的介绍

1、什么是索引?

  索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。

索引的实现通常使用B树及其变种B+树

1、什么是B树呢

  即二叉搜索树:
  
         1.所有非叶子结点至多拥有两个儿子(Left和Right);
  
         2.所有结点存储一个关键字;
  
         3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;

什么是B+,B-树呢?参考这个博客

http://www.cnblogs.com/syxchina/archive/2011/03/02/2197251.html

2、为什么要用索引?

https://blog.csdn.net/z702143700/article/details/45270599

个人总结的索引应该避免的

◆避免对索引字段进行计算操作

◆避免在索引列上使用IS NULL和IS NOT NULL

◆避免在索引列上出现数据类型转换

◆避免在索引字段上使用函数

◆避免建立索引的列中使用空值。