关于索引的一些知识
一、索引的目的
为了避免全表扫描。
索引是可以手工创建的。
建表的时候会自动创建主键索引。
二、索引的类型:
B-Tree Indexes
Bitmap Indexes
Hash Indexes
Reverse Key Indexes
Index-Origanized Tables
Function-Based Indexes
Partitioned Indexes
Bitmap Join Indexes
Single column 单行索引
Concatenated 多行索引 组合索引
Unique 唯一索引
NonUnique 非唯一索引
三、索引带来的问题:
1)虽然索引大大提高了查询速度,但是同时会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。
2)建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会膨胀很快。
所以,索引不是越多越好,尤其是组合索引。