在1核1G的這種云服務器上用YUM方式安裝了一個MSYQL
測驗插入1萬條資料,MyIsam插入為什么比Innodb慢,MyIsam用了10s,Innodb用1s。
插入腳本如下:
BEGIN
set session autocommit=0;
truncate table t1;
set @starttime = unix_timestamp(current_timestamp());
set @i = 0;
set @num = 10000;
while @i<@num do
insert into t1(id1,id2,content) values(@i,@i,'aaa');
set @i = @i +1;
end while;
commit;
set @endime = unix_timestamp(current_timestamp());
select @endime - @starttime;
END
表就id1,id2,content三個欄位,兩個int,一個varchar,實在是很奇怪
uj5u.com熱心網友回復:
是不是因為壓縮uj5u.com熱心網友回復:
MyIsam適合讀多寫少的場景, 一般情況下都用 InnoDBuj5u.com熱心網友回復:
MyISM的資料結構,和Innodb的資料介面。結構也不一樣。uj5u.com熱心網友回復:
找到問題了,把binlog關了就可以,MyIsam的binlog寫入比Innodb大的多uj5u.com熱心網友回復:
嗯,嗯myisam不支持事務,innodb支持事務
5.7以后默認的資料引擎是innodb。
根據你們的實際場景來選擇。
你們使用場景為什么需要myisam?
uj5u.com熱心網友回復:
我們場景是OLAP,不過8.0其實是建議使用innodb代替myisam,myisam可優化的余地很小
uj5u.com熱心網友回復:
是的,Innodb適合OLTP場景。
uj5u.com熱心網友回復:
自己的經驗1. 選MySQL的話無腦用InnoDB。
2. 大量插入用bulk insert。MySQL下就是values后面跟多條記錄。
uj5u.com熱心網友回復:
有一個rewriteBatchedStatements引數,可以在url中配置,實作批量插入。對innodb性能提高很明顯。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/78228.html
標籤:MySQL
