前言:
mysql 分割槽後每個分割槽成了獨立的檔案,雖然從邏輯上還是一張表其實已經分成了多張獨立的表,
從 information_schema.innodb_sys_tables 系統表可以看到每個分割槽都存在獨立的 table_id;
由於 innodb 資料和索引都是儲存在 ".ibd" 檔案當中(從innodb_sys_indexes 系統表中也可以得到每個索引都是對應各自的分割槽( primary key 和 unique 也不例外)),
所以分割槽表的索引也是隨著各個分割槽單獨儲存。
一、分割槽索引
索引方式:
// 效能依次降低
1.主鍵分割槽
主鍵分割槽即字段是主鍵同時也是分割槽字段,效能最好
2. 部分主鍵+分割槽索引
使用組合主鍵裡面的部分字段作為分割槽字段,同時將分割槽欄位建索引
3.分割槽索引
沒有主鍵,只有分割槽欄位且分割槽欄位建索引
4.分割槽+分割槽字段沒有索引
只建了分割槽,但是分割槽字段沒有建索引
引用總結:
因為每乙個表都需要有主鍵這樣可以減少很多鎖的問題,主鍵需要解決全域性唯一性並且在插入和更新時可以不需要去掃瞄全部分割槽,造成主鍵和分割槽列必須存在關係;
所以最好的分割槽效果是使用主鍵作為分割槽字段其次是使用部分主鍵作為分割槽欄位且建立分割槽欄位的索引,其它分割槽方式都建議不採取。
mysql常用知識點 mysql 常用知識點。
mysql u root p show databases show tables select from abc order by id limit 0,10 create database bbb exit mysqldump u root p game home backup.sql mysq...
二級mysql知識點 Mysql 知識點
1.死鎖回滾策略 死鎖發生時mysql會選擇行數少的事務進行回滾 2.鎖型別 共享鎖,排他鎖 行級鎖 innob record lock 鎖定單條記錄 gap lock 鎖定乙個範圍的記錄 但不包括記錄本身 next key lock 鎖定乙個範圍的記錄 並且包 含記錄本身 這是預設的鎖型別 更新操...
C 程式設計知識點 記憶體分割槽
c 程式在執行時,將記憶體大方向劃分為4個區域 記憶體四區的意義 不同區域存放的資料,賦予不同的生命週期,給我們更大的靈活程式設計。1.存放 cpu 執行的機器指令 2.區是共享的,共享的目的是對於頻繁被執行的程式,只需要在記憶體中有乙份 即可 3.區是唯讀的,使其唯讀的原因是防止程式意外地修改了它...