在MySQL中删除和插入记录的高频率解决方案

时间:2013-02-01 16:26:38

标签: mysql performance mongodb insert

我的程序(游戏服务器)经常从表中删除许多记录,然后将多个记录插入表中。 用例是:

  1. 角色可能包含许多项目,每个项目都有其属性。
  2. 一旦角色加载到游戏中,他的物品就会存储在内存中。
  3. 当角色存在于游戏中时,所有旧记录(在角色加载到游戏之前)将被删除,程序会将角色的新项目插回数据库。
  4. 一个角色平均有100个项目(100个项目记录,100个其他项目属性)
  5. 当CCU达到约1k时,mysql将控制那些读/写速度变慢。

    我尝试了很多方法来优化MySQL,但它们还不够好。我的临时解决方法是使用SSD磁盘作为MySQL数据文件夹。

    我的问题是:我应该使用其他DBMS(目前正在考虑MongoDB ......)以及我应该选择什么?

1 个答案:

答案 0 :(得分:1)

MySQL可以处理很多事情,但频繁INSERTUPDATEDELETE选项的表格会导致严重降级。可以让MySQL在负载很重的情况下运行,但是对于这种情况,你需要将它们分成不同的表或数据库。

然而,使用SSD for MySQL并不是一个坏主意。

如果您可以围绕像Redis这样的快速键值存储架构建系统,那么只要所有数据都适合内存,您就可以拥有所有可能的性能。