首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

联合索引的疑问解决思路

2012-06-08 
联合索引的疑问单个索引的b树结构的节点是一个key[]和一组指针*pointer[],key[1],key[2]储存关键字,比如表

联合索引的疑问
单个索引的b树结构的节点是一个key[]和一组指针*pointer[],key[1],key[2]储存关键字,比如表中有个字段a建成索引,有两行数据aa,bb,那key[1]=aa,key[2]=bb,联合索引呢?假设有两个字段,a,b建成索引(a,b),那key[]是怎么储存的?

[解决办法]
key[1]=‘a,b’
[解决办法]
KEY 中存储的是A,B
[解决办法]
key的值a,b
[解决办法]
索引不是你想得这样保存的。看你使用什么engine 了
比如你使用了myisam,他的数据是按插入的顺序保存的,索引只是保存数据的行号而不是你说的直接保存行的值,如果一个索引保存行的值,那么这样存储空间会浪费很多!
如果使用的innodb,因为使用了聚集索引,所以数据物理上是有序的,这是索引存的是主键保存的索引值,也就是说需要访问两次索引。

[解决办法]
key(a,b)

热点排行