1. innodb支援行鎖,mysiam支援表鎖;
2.innodb支援更好的崩潰恢復機制;
3. mysiam支援fullindex,innodb沒有;
4.innodb支援事務處理,外來鍵約束,關係約束;myisam沒有
5. innodb可以實現表壓縮
6. innodb中,除了text, blob型別外的其他字段型別,最多可以占用8,000 bytes大小的空間。
7.innodb中,count(*)
操作要更慢一些(當sql中沒有where,group by, join時)。這是因為,innnodb表的行統計資料沒有在儲存引擎中儲存著。
8. innodb 使用 innodb buffer pool 快取。它會快取 innodib表的資料和索引;快取的資料和索引都在乙個檔案總。 myisam引擎的只快取來自.myi檔案中的索引
9. myisam占用更小的空間。count(*)
操作更快(當sql中沒有where,group by, join時)。當只有讀操作時候,myisam表壓縮更高。
10. innodb提供空間資料型別,但是沒有空間索引型別。myisam二者均有(r-tree)。
參考11.快取機制不同。
myisam引擎的只快取來自.myi檔案中的索引,對mysql表資料的快取留給了作業系統完成。下面的sql可以計算出來推薦你使用的key_buffer_size :
select concat(round(kbs/power(1024,
if(powerof1024<0,0,if(powerof1024>3,0,powerof1024)))+0.4999),
substr(' kmg',if(powerof1024<0,0,
if(powerof1024>3,0,powerof1024))+1,1))
recommended_key_buffer_size from
(select least(power(2,32),kbs1) kbs
from (select sum(index_length) kbs1
from information_schema.tables
where engine='myisam' and
table_schema not in ('information_schema','mysql')) aa ) a,
(select 2 powerof1024) b;
innodb 使用 innodb buffer pool 快取。它會快取 innodib表的資料和索引;快取的資料和索引都在乙個檔案總;以下語句可以計算出innodb buffer pool 的大小:
select concat(round(kbs/power(1024,
if(powerof1024<0,0,if(powerof1024>3,0,powerof1024)))+0.49999),
substr(' kmg',if(powerof1024<0,0,
if(powerof1024>3,0,powerof1024))+1,1)) recommended_innodb_buffer_pool_size
from (select sum(data_length+index_length) kbs from information_schema.tables
where engine='innodb') a,
(select 2 powerof1024) b;
參考
InnoDB儲存引擎簡介 記憶體區相關
innodb引擎是mysql外掛程式引擎的其中乙個,由許多記憶體塊組成乙個記憶體池,主要負責 innodb引擎是基於磁碟儲存的,儲存的基本單位是頁 16kb 由於cpu和io速度差異的問題,需要使用快取記憶體來提高效能。緩衝池的大小可以通過引數innodb buffer pool size來設定,緩...
儲存引擎揭秘 基本結構之三 區
儲存引擎揭秘 基本結構之三 區 正文 前面的文章我介紹了資料檔案中的頁,包括頁結構和一些頁型別。現在我想解釋一下頁是如何組織成區 extent 的。乙個區是由資料檔案中 8個連續的頁組成。區從資料檔案頭部開始,並且總是 64k對齊 即 8頁對齊 區及其屬性在 sql server 2000 和200...
戰神引擎手遊版本合區 資料合併教程
戰神引擎手遊版本合區 資料合併教程 準備1 n11資料庫管理 2 兩個區的伺服器 3 戰神引擎合區工具 本合區教程是免mongodb資料庫 第一步 先確定把那個區合併到那個 第二步 合區之前,必須要備份資料 1 關閉引擎 2 關閉套件 3 複製乙份mir3這個資料夾,2個伺服器都要複製乙份 第四步 ...