在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  數(shù)據(jù)庫/ 數(shù)據(jù)庫中聚集索引是否存儲了真實數(shù)據(jù)

數(shù)據(jù)庫中聚集索引是否存儲了真實數(shù)據(jù)

索引是一種數(shù)據(jù)結(jié)構(gòu),b+樹的葉子節(jié)點中存放的是指向?qū)嶋H行的指針。
那么聚集索引呢,InnoDB 的聚簇索引在同一個結(jié)構(gòu)中保存了 B+Tree 索引和數(shù)據(jù)行,這句話是什么意思?
是不是說非聚集索引葉子節(jié)點中的指針指向的就是聚集索引中存放的數(shù)據(jù)行

回答
編輯回答
傲嬌范

InnoDB聚集索引是按照主鍵(primary key)進(jìn)行聚集的,每張表只能有一個聚集索引,表數(shù)據(jù)文件本身就是按B+Tree組織的一個索引結(jié)構(gòu),葉子節(jié)點的data域保存了完整的數(shù)據(jù)記錄;所以說,InnoDB表數(shù)據(jù)文件本身就是主索引文件,也就是你剛剛說的“同一個結(jié)構(gòu)中保存了 B+Tree 索引和數(shù)據(jù)行”。聚集索引的方式會使根據(jù)主鍵的范圍查找和排序非??欤▍⒖季奂饕臄?shù)據(jù)結(jié)構(gòu))。

InnoDB輔助索引的實現(xiàn)方式是所有輔助索引都引用主鍵作為data域,因此輔助索引搜索需要檢索兩次索引才能獲得數(shù)據(jù)記錄,但是這樣輔助索引的變更會很方便(不會影響根據(jù)主索引組織的數(shù)據(jù)文件本身),同時因為所有的輔助索引都引用主索引,不建議主索引過大。

2017年9月29日 06:01