如何在mysql数据库上做非突兀的数字运算?

问题描述:

不知道如何陈述这个问题。如何在mysql数据库上做非突兀的数字运算?

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

现在我想对实时数据做一些研究(编辑:“实时”可能会过几分钟)。

在不中断生产的情况下做到这一点的最佳方法是什么?

思路:

    在Unix外壳
  1. ,有nice概念。它让我给一个特定的线程一个低优先级,所以当其他线程空闲时它只使用CPU。我基本上在mysql上下文中寻找相同的东西。
  2. 获取一个数据库转储和研究脱机做到:
    • 不在于采取了我的网站在几分钟才能到达转储?
    • 是否有办法配置转储命令,以便以nice的方式进行提取(请参阅上文)?
  3. 做直接的SQL命令对现场DB:
    • 有没有办法,再次,所以他们在nice方式执行配置命令?

更新:什么是对理念2论点?

+0

也许在这种情况下数据库复制可能是有用的。您可以在第二个数据块上进行提取而不会影响生产中的那个 –

+0

它们有哪些类型的点击?什么引擎?什么类型的磁盘(SSD或不)?该表足够小,可以缓存在RAM中吗?你的'危险'查询是什么样的?在很多情况下,我不会害怕在生产中运行查询。但回答这些问题,看看你是否有更糟糕的情况。 –

+0

“命中”是我的PHP站点的执行。大多数命中做了几个查找和一些写在大到6GB的表上。没有“危险的”查询。我可以想象的唯一“危险”情况是,在这次探索中,我想出了一些想法,这些想法需要对未编制索引的列进行查询等。我在共享主机环境中工作,并且不确定硬件。 –

从*上和人讨论的意见,下面是谁同样的问题在这里得到一个答案:

  • 在MySQL中,似乎有不超过进程优先级任何nice类型的控制(例如,我听说在Oracle中有这种情况)
  • 由于任何“数字处理”最多只能像我的网站上的另一位访问者那样对待,所以它不会降低网站的性能。所以它可以安全地在生产环境中运行(当然,只读)。