【BigHereo 6】-----index的三生三世


【BigHereo 6】-----index的三生三世




要了解所有,必须先了解下面的几个问题,才能更好的深入学习:

1,索引的那几种? 


2,常用的索引 index都怎么用?


3,索引有哪些常见的坑?


4,索引都能干些什么?


5,索引到底是什么个

 


Index
1 basic(基础)
1.1 有四种索引
1.1.1 1,普通
1.1.1.1 create index <索引名称>on tablename(列的表名)
1.1.1.2 alert table tablename add index<索引的名字>
1.1.2 2,唯一
1.1.2.1 确保索引唯一性
1.1.2.2 在索引名称前加:unique
1.1.3 3,主键
1.1.3.1 索引的东西能唯一表示表的每一行
1.1.3.2 是唯一索引的特殊
1.1.4 4,聚集
1.1.4.1 非聚集索引,nonclustered
1.1.4.2 聚集索引
1.1.4.2.1 逻辑顺序和物理顺序一致
1.1.4.2.2 clustered


1.2
 index怎么干
1.2.1 操作
1.2.1.1 建立索引情况
1.2.1.1.1 1,定义主键数据列一定要建立索引
1.2.1.1.2 2,定义外键的列
1.2.1.1.3 3,经常查询列
1.2.1.1.4 4,指定范围要快速,频繁查列
1.2.1.1.5 5,常用where字句列
1.2.1.2 删除drop index<索引名>


1.3
 index常见坑
1.3.1 http://blog.csdn.net/xluren/article/details/32746183
1.3.2 1,索引不会包含NULL值列
1.3.3 2,少用长索引
1.3.4 3,索引列排序
1.3.4.1 where多个字句,orderby 是不会用到索引的
1.3.5 4,like语句,"%aa%"不会用索引,"aa%"可以用
1.3.6 5,不要在列上进行运算
1.4 english questions


2, index能干什么(why)
2.1 优点
2.1.1 1,快速读取数据
2.1.2 2,保证数据记录唯一性
2.1.3 3,加速实现表与表参照完整性连接
2.1.4 4,使用order by, group by检索,减少全表排序和分组
2.2 缺点
2.2.1 1,索引也占空间
2.2.2 2,索引也要动态维护,降低维护速度


3
 What
3.1 是一种数据结构
3.2 是某表一列或多列值集合和指向物理标识值的逻辑指针