要了解所有,必须先了解下面的几个问题,才能更好的深入学习:
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 是某表一列或多列值集合和指向物理标识值的逻辑指针 |