有关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' ……
这样操作的话,插入数据,也会有奇效的哦。