我有一个基本上包含日志的MyISAM表。一组计算机在此表上以每秒50个的速率单个记录INSERT
,但同一个表也由Web应用程序SELECT
编辑,并编入索引以适应此。但是,没有UPDATE
或DELETE
s。
所以从我收集的内容来看,我应该使用并发插入。 (对吗?)MyISAM通常会在没有任何额外工作的情况下为我做这件事。 (这是正确的吗?)
但我找不到的是一种保证同时处理给定INSERT
的方法。我知道我可以将全局变量concurrent_insert
设置为2
,但我不想全局设置它。
所以我的问题是:
我是否有某些方法可以保证并发插入?
如果没有,是否有一个命令我可以用来查看表是否满足并发插入要求? (我相信只要知道一张桌子是否有洞就足够了?)因为我也愿意只能监视桌子。
我也很好奇,是否有其他数据库系统可以更好地处理这种负载?如果碰巧是这样的话,我对NoSQL解决方案完全没问题。只要我能从Ruby和C谈论它。
答案 0 :(得分:1)
为什么不想全局设置concurrent_insert = 2?这会给你你想要的东西。
您可能要为此类型的MyISAM表考虑的另一个选项是INSERT DELAYED: http://dev.mysql.com/doc/refman/5.1/en/insert-delayed.html