不知道如何陈述这个问题。
我有一个非常繁忙的生产数据库,每天有近 100 万次点击。
现在我想对实时数据进行一些研究(编辑:“实时”可能是几分钟前的数据)。
在不中断生产的情况下执行此操作的最佳方法是什么?
想法:
- 在unix shell 中,有一个
nice
概念。它允许我为特定线程提供低优先级,以便它仅在其他线程空闲时使用 CPU。我基本上是在 mysql 上下文中寻找相同的内容。 - 获取数据库转储并离线进行研究:
- 这不会导致我的网站因获取转储而需要几分钟时间吗?
- 有没有办法配置转储命令,以便它以
好的
方式进行提取(见上文)?
- 直接在实时数据库上执行 SQL 命令:
- 有没有办法再次配置命令,以便它们以
好的
方式执行?
- 有没有办法再次配置命令,以便它们以
更新:反对想法 2 的论据是什么?
最佳答案
根据 StackOverflow 上的评论和现场讨论,对于带着同样问题来到这里的人来说,这里有一个答案:
- 在 MySQL 中,似乎没有对进程优先级进行任何
好的
类型控制(例如,我听说 Oracle 中就有这种控制) - 由于任何“数字运算”至多都被视为我的网站又多了一位访问者,因此它不会降低网站性能。因此它可以安全地在生产环境中运行(当然,只读......)。
关于mysql - 如何在 mysql 数据库上进行非侵入性的数字运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42269151/