【发布时间】:2012-05-16 21:23:20
【问题描述】:
我的服务器有一些问题,我需要改进它。
首先,每 2 小时,我在 MyISAM 表中插入/更新/删除大约 100 万个结果(这就是所有表),并且在此期间必须可以从我的网站访问该表。
每月大约有 1 次,我的网站没有显示,并显示消息“无法连接到数据库”。当我重新启动服务器时,我可以看到这个表必须修复。
有没有办法防止我的桌子被“损坏”或自动修复它? 我应该将引擎更改为 innoDB 吗?为什么?
其次,在此操作期间,我的网站真的很慢,而且不仅仅是显示此表格结果的页面。
我可以完全访问我的服务器,但我不知道我在寻找什么...该操作是一项 cron 作业,其 19 岁。
无论我在后台做什么,我都希望我的网站以相同的速度运行。我做的操作大概需要一个小时来执行,超过这个时间也没关系。
【问题讨论】:
-
您是否有理由使用实时表而不是使用它的副本?
-
聘请数据库专业人士几个小时。
-
@Brandt:但是如何在不清空表的情况下将第二张表复制到实时表?如果我清空它,用户在操作过程中将看不到任何结果。
标签: php mysql optimization storage-engines