如何在mysql数据库上做非突兀的数字运算?
问题描述:
不知道如何陈述这个问题。如何在mysql数据库上做非突兀的数字运算?
我有一个非常繁忙的数据库,每天接近100万点击量。
现在我想对实时数据做一些研究(编辑:“实时”可能会过几分钟)。
在不中断生产的情况下做到这一点的最佳方法是什么?
思路:
-
在Unix外壳
- ,有
nice
概念。它让我给一个特定的线程一个低优先级,所以当其他线程空闲时它只使用CPU。我基本上在mysql上下文中寻找相同的东西。 - 获取一个数据库转储和研究脱机做到:
- 不在于采取了我的网站在几分钟才能到达转储?
- 是否有办法配置转储命令,以便以
nice
的方式进行提取(请参阅上文)?
- 做直接的SQL命令对现场DB:
- 有没有办法,再次,所以他们在
nice
方式执行配置命令?
- 有没有办法,再次,所以他们在
更新:什么是对理念2论点?
答
从*上和人讨论的意见,下面是谁同样的问题在这里得到一个答案:
- 在MySQL中,似乎有不超过进程优先级任何
nice
类型的控制(例如,我听说在Oracle中有这种情况) - 由于任何“数字处理”最多只能像我的网站上的另一位访问者那样对待,所以它不会降低网站的性能。所以它可以安全地在生产环境中运行(当然,只读)。
也许在这种情况下数据库复制可能是有用的。您可以在第二个数据块上进行提取而不会影响生产中的那个 –
它们有哪些类型的点击?什么引擎?什么类型的磁盘(SSD或不)?该表足够小,可以缓存在RAM中吗?你的'危险'查询是什么样的?在很多情况下,我不会害怕在生产中运行查询。但回答这些问题,看看你是否有更糟糕的情况。 –
“命中”是我的PHP站点的执行。大多数命中做了几个查找和一些写在大到6GB的表上。没有“危险的”查询。我可以想象的唯一“危险”情况是,在这次探索中,我想出了一些想法,这些想法需要对未编制索引的列进行查询等。我在共享主机环境中工作,并且不确定硬件。 –