数据结构
。 可以理解为:排好序的快速查找的数据结构
虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化后的索引信息
即一个索引只包含单个列,一个表可以有多个单列索引
#方式1
CREATE [UNIQUE] INDEX 索引名 ON 表名(字段名1(长度),字段名2(长度))
#方式2
ALTER 表名 ADD [UNIQUE ] INDEX [索引名] ON (字段名1(长度),字段名2(长度))
DROP INDEX [索引名] ON 表名;
SHOW INDEX FROM 表名;
【查找过程】如果要查找数据项29,那么首先会把磁盘块1由磁盘加载到内存,此时发生一次IO,在内存中用二分查找确定29在17和35之间,锁定磁盘块1的P2指针,内存时间因为非常短(相比磁盘的IO)可以忽略不计,通过磁盘块1的P2指针的磁盘地址把磁盘块3由磁盘加载到内存,发生第二次IO,29在26和30之间,锁定磁盘块3的P2指针,通过指针加载磁盘块8到内存,发生第三次IO,同时内存中做二分查找找到29,结束查询,总计三次IO。