我该怎么做总是在不锁定表的情况下插入MySQL MyISAM数据库?MySQL MyISAM - Do not insert without lock
当我加载100,000条记录时,其他进程似乎被锁定。
基本上,我可以强制使用concurrent_inserts = 2,即使表中有孔,所以在插入过程中没有表锁定?
是否可以为会话动态设置concurrent_inserts? 见http://dev.mysql.com/doc/refman/5.0/en/concurrent-inserts.html
还有什么其他方法用于非锁定插入?
“插入延迟”会在插入过程中阻止表锁定吗? 请参阅http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html
检出[并发插入](http://dev.mysql.com/doc/refman/5.0/en/concurrent-inserts.html)。 – 2012-07-23 14:58:20
我不确定这是否适合我的问题 - 基本上我有一个巨大的myisam表和许多独立运行的插入线程(非常差的应用程序设计,其中插入是单个记录,而不是分成块)。每个线程似乎都被阻塞,直到前一个线程执行插入。我会重新阅读你的链接,看看它确实解决了我的问题。感谢您的链接。 – FreudianSlip 2012-07-23 15:01:21
并发插入仅防止阻塞SELECT。其他INSERT仍将被阻止(您不能同时向同一文件的末尾写入两个单独的请求)。 – 2012-07-23 16:21:54