php/MySQL - 表总是"broken"的问题



我的服务器上有一些问题,我需要改进它。

首先,每 2 小时,我在 MyISAM 表中插入/更新/删除大约 100 万个结果(所有表格(,并且在此期间必须可以从我的网站访问该表。

每月大约 1 次,我的网站不显示,并显示消息"无法连接到数据库"。当我重新启动服务器时,我可以看到必须修复此表。

有没有办法防止我的桌子"坏"或自动修复?我应该将引擎更改为 innoDB 吗?为什么?

其次,在此操作期间,我的网站非常慢,不仅页面显示此表结果。

我可以完全访问我的服务器,但我不知道我在寻找什么......该操作是一个 cron 工作,有 19 个不错的成绩。

我希望我的网站无论我在后台做什么都能保持相同的速度。我所做的操作大约需要一个小时才能执行,如果花费更多时间也没关系。

该操作是一个 cron 工作,有 19 个不错的成绩。

以低优先级运行作业没有多大意义。

每 2 小时,我插入/更新/删除大约 100 万个结果(这是所有表格(

这是很多数据。你真的在挑战系统的能力。至于如何解决问题....尝试使用InnoDB到底需要多少努力?恕我直言,比在这里发帖,等待答案并尝试一下。

您还可以尝试许多其他事情 - 例如针对表的卷影副本运行 cron 作业并将其交换为前端访问的表(但这本身并不能解决损坏问题(。

当然,我在对MyISAM表进行大量删除时遇到了问题。

我怀疑可能有很多方法可以解决这个问题 - 但你没有给出太多迹象表明为什么你需要这么高的数据周转率;因为我怀疑你的用户正在查看你正在更改的所有记录的细节,我怀疑最大的好处是在数据到达数据库之前整合数据。

而且它不仅仅是显示此表结果的页面。

即使您禁用了通过 cron 作业和前端 URL 访问快速周转数据?这是一个完全不同的问题。

最新更新