天天看點

Innodb,MyIsam,聚集索引和非聚集索引

Innodb,MyIsam,聚集索引和非聚集索引

1.Innodb和Myisam是什麼和差別

Innodb和Myisam是兩種類類型,在navicat中可以看到,也可以修改。

Innodb,MyIsam,聚集索引和非聚集索引

下面介紹一下他們的差別:

差別 Innodb Myisam
事務 安全 非安全
行級 表級
效率
索引 聚集索引 非聚集索引
外鍵 支援 不支援
使用環境 需要事務,大量增,改 多查詢,不需要事務

2.聚集索引和非聚集索引

如果想了解“聚集索引和非聚集索引”那麼可以先看看

B樹和B+樹

下面說說他們的差別

聚集索引:1.屬于Innodb。

                  2.按照主鍵B+樹的排列方式存放,子節點存放的就是資料。(如果沒有主鍵,以第一列為聚集索引)

                  3.隻有一個聚集索引。

                  4.普通索引指向聚集索引。

舉個栗子:

有一個人員表:主鍵為id,列為 name(索引),class,age。那麼他們的存儲方式為:

資料為:

id name class age
1 xiaohuang 1-1 11
2 xiaohong 2-1 12
3 xiaolv 3-1 13

聚集索引為

Innodb,MyIsam,聚集索引和非聚集索引

而也可能會有很多普通索引,普通索引的子節點指向聚集索引。例如當普通索引通過xiaohuang查到id為1後,再到聚集索引中繼續查詢到子節點,也就是說通過普通索引查詢會調用兩次索引。

Innodb,MyIsam,聚集索引和非聚集索引

非聚集索引:1.屬于MyIsam。

                      2.普通索引和非聚集索引沒什麼差別。

                      3.存放的是位址。

栗子:

Innodb,MyIsam,聚集索引和非聚集索引

繼續閱讀