mysql - 如何在 mysql 数据库上进行非侵入性的数字运算?

标签 mysql multithreading mariadb database-performance

不知道如何陈述这个问题。

我有一个非常繁忙的生产数据库,每天有近 100 万次点击。

现在我想对实时数据进行一些研究(编辑:“实时”可能是几分钟前的数据)。

在不中断生产的情况下执行此操作的最佳方法是什么?

想法:

  1. 在unix shell 中,有一个nice 概念。它允许我为特定线程提供低优先级,以便它仅在其他线程空闲时使用 CPU。我基本上是在 mysql 上下文中寻找相同的内容。
  2. 获取数据库转储并离线进行研究:
    • 这不会导致我的网站因获取转储而需要几分钟时间吗?
    • 有没有办法配置转储命令,以便它以好的方式进行提取(见上文)?
  3. 直接在实时数据库上执行 SQL 命令:
    • 有没有办法再次配置命令,以便它们以好的方式执行?

更新:反对想法 2 的论据是什么?

最佳答案

根据 StackOverflow 上的评论和现场讨论,对于带着同样问题来到这里的人来说,这里有一个答案:

  • 在 MySQL 中,似乎没有对进程优先级进行任何好的类型控制(例如,我听说 Oracle 中就有这种控制)
  • 由于任何“数字运算”至多都被视为我的网站又多了一位访问者,因此它不会降低网站性能。因此它可以安全地在生产环境中运行(当然,只读......)。

关于mysql - 如何在 mysql 数据库上进行非侵入性的数字运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42269151/

相关文章:

mysql - 将 MySQL 数据库文件从非启动 SD 卡移动到另一台服务器

php - DQL : Class '(' is not defined 中的嵌套子查询错误

C#线程函数

c# - Monitor.Enter 与 Monitor.Wait

mysql - 如何从 MariaDB 的不同表更新多个列

mysql - RocksDB 与 Cassandra

mysql - MariaDB 崩溃 : Table doesn't exist in engine && can't recover tables

mysql - 为什么这个简短的 SQL 文件会给我错误?

MYSQL JSON列保存后更改数组顺序

java - 我正在使用 hibernate 4.3.8 和 swing 应用程序并获取 org.hibernate.service.UnknownServiceException