使用storm處理日志的時候,經常會遇到並發插入mysql的效率問題,到網上查了些資料,做一下筆記
將表的引擎改為 myisam,
修改 my.cnf 的concurrent_insert=2,concurrent_insert 可以設的值有 0 1 2 ,2 是完全支持並發插入
1) concurrent _insert =0 ,無論MyISAM的表數據文件中間是否存在因為刪除而留下俄空閒空間,都不允許concurrent insert。
2)concurrent_insert = 1,是當MyISAM存儲引擎表數據文件中間不存在空閒空間的時候,從文件尾部進行Concurrent Insert。
3)concurrent_insert = 2, 無論 MyISAM存儲引擎的表數據文件的中間部分是否存在因為刪除而留下的空閒空間,都允許在數據文件尾部進行concurrent insert操作。
重啟mysql: /etc/init.d/mysqld restart
在插入數據的時候 還可以 設置成 delayed 插入: insert delayed into ' tablename' ……