mysql索引类型与数据存储
一、innodb索引与myisam索引存储数据的区别
myisam索引(MYI)与数据(MYD)分开存储,叫做非聚集索引(UnClustered Index)
innodb数据与索引存储在一起,故叫做聚集索引(Clustered Index)
myisam:普通索引(btree)与主键索引(btree)在索引指向方面都是指定为实际的数据在磁盘中的位置信息
innodb普通索引(btree):
存储实际的数据在索引指向中指向主键索引的非叶子结点,通过主键索引的非叶子结点接续查找数据在磁盘中的位置信息
innodb主键索引(btree):
在索引指向中指定为实际的数据在磁盘中的位置信息
innodb中普通索引与主键索引的关系:
普通索引是依赖与主键索引而存在的
二、innodb回表问题
**查看表里有哪些索引**
show indexes from 表名;
**查看使用了什么索引查询**
explain select url from article where url=xxx; --explain 查询sql语句;
怎么看使用了什么索引
Extra:Using index --覆盖索引
Extra:null(没有值) --回表
在innodb中就是通过索引来实现行锁,如果不加索引的话就