代码之家  ›  专栏  ›  技术社区  ›  Stéphan Kochen

确保“insert”对于特定的myisam表是并发的?

  •  1
  • Stéphan Kochen  · 技术社区  · 15 年前

    我有一个myisam表,它基本上包含一个日志。一组机器做单记录 INSERT 以每秒50次的速率在这张桌子上,但同一张桌子也是 SELECT 由Web应用程序生成,并为此编制索引。没有 UPDATE S或 DELETE 不过,S。

    所以根据我收集到的信息,我应该使用并发插入。(对吧?)Myisam通常会为我做这件事而不做任何额外的工作。(这是正确的吗?)

    但我找不到的是 保证 那个给定的 插入 同时处理。我知道我可以设置全局变量 concurrent_insert 2 但是我不想把这个设置成全球性的。

    所以我的问题是:

    • 我有没有办法保证并发插入?

    • 如果不满足,是否可以使用命令来查看表是否满足并发插入要求?(我相信只要知道桌子上有洞就足够了?)因为我也会满足于仅仅监视桌子。

    • 我也很好奇,是否还有其他数据库系统可以更好地处理这种负载?我完全同意NoSQL解决方案,如果是这样的话。只要我能和Ruby和C谈。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Ike Walker    15 年前

    为什么不全局设置concurrent_insert=2?那会给你想要的。

    对于这种类型的myisam表,您可能需要考虑的另一个选项是insert delayed: http://dev.mysql.com/doc/refman/5.1/en/insert-delayed.html