序列表Innodb與Myisam表insert測試

2021-09-22 08:45:21 字數 799 閱讀 8908

現在很多公司在使用mysql時,由於資料量過大,都會使用分庫或分表,分片就意味著需要有分片的key,有些場景下會使用自增的值來作為主鍵並作為分片的key,由於mysql本身支援併發,因此很多公司就使用mysql資料庫表中的自增id作為發號器。有些公司使用innodb作為發號器表的儲存引擎,有些則使用mysiam的。

本文主要介紹了這種場景下,對兩個儲存引擎的測試對比,共大家參考,以便在生產環境做出合理選擇。

blog: 

如有疑問,歡迎聯絡。

1、表結構

create table `test_seq` (

`id` int(11) not null auto_increment,

`sub` char(10) collate utf8_unicode_ci not null,

primary key (`id`)

) engine=innodb default charset=utf8 collate=utf8_unicode_ci

2、測試方法

採用mysqlslap , mysql官方社群版本5.5.30

insert語句:insert into test_seq(sub) values('aaaa');

3、測試結果

4、結果分析

-從qps上來看,兩者相差不大

-從cpu消耗來看,myisam略有優勢,cpu消耗略低於innodb

-從io消耗來看,myisam有明顯優勢,對io消耗明顯低於innodb

對io的消耗差異如此之大,原因相信大家都清楚了,這樣的測試結果也是非常符合理論原理的。

MySQL的InnoDB引擎與MyISAM引擎

myisam 這個是預設型別,它是基於傳統的isam型別,isam是indexed sequential access method 有索引的順序訪問方法 的縮寫,它是儲存記錄和檔案的標準方法。與其他儲存引擎比較,myisam具有檢查和修復 的大多數工具。myisam 可以被壓縮,而且它們支援全文搜...

MySQL資料庫InnoDB與MyISAM區別

特點 行級鎖,支援事務處理,支援外來鍵,行鎖實現,根據索引條件檢索資料使用行鎖。表鎖,支援全文索引。表鎖,分為表共享鎖和表獨佔鎖。讀和讀之間使用共享鎖,讀寫之間使用獨佔鎖。b樹,又稱多路平衡查詢樹。所有節點中孩子節點的最大值為此樹的階 用m表示 每個節點關鍵字的個數最少有 m 2 1 個,最多有 m...

mysql的innodb引擎和myisam引擎區別

首先innodb支援事務,可以進行事務的回滾,而myisam不支援事務 所以在更新比較多或者插入比較多的時候使用innodb 再者就是innodb支援的是行級鎖定 某些情況下會表級,例如出現以 開頭的模糊查詢 myisam支援的表級鎖定 表級鎖定和行級鎖定就從字面理解 即在進行表內資料的操作時,my...