以10w條記錄的插入做爲實驗對象,採用下面的幾種方法插入: sql
1. 普通插入:普通的一條條插入 數據庫
2. 普通插入+手動提交:setAutoCommit(false)、commit() 多線程
3. 普通插入+手動提交+ prepareStatement方式 app
4. 批量插入:addBatch、executeBatch ide
5. 批量插入:insert into tableName (x,xx,xxx) values(x,xx,xxx),(xx,xxx,xxxx)…, 性能
6. 多線程插入。 測試
7. InnoDB引擎和MyISAM引擎的比較。
大數據
實驗環境: 優化
數據庫:MySQL 5.0 ui
機器硬件:
內存 3G
CPU AMD雙核4400+ 2.3G
首先創建一個簡單的user表:
CREATE TABLE `user` (
`id` varchar(50) NOT NULL,
`seqid` bigint(20) NOT NULL auto_increment,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`seqid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1、普通插入
代碼:
CREATE TABLE `user2` (
`id` varchar(50) NOT NULL,
`seqid` bigint(20) NOT NULL auto_increment,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`seqid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
代碼: