mysql查询优化与服务器性能

时间:2011-12-16 05:04:41

标签: mysql performance optimization

此问题是关于查询优化 -vs- 服务器性能的比较。所以我希望这个问题也可以在这个论坛上发布。

据我了解,优化查询的PRIMARY(但不是单一)理由是让服务器更快地运行。

那么,服务器之间是否存在任何差异:查询优化,因此它提供了+ 50%的性能-vs-将网站移动到另一个托管服务提供商,服务器速度提高了1.5倍。 (当然,我们可以做到这两点,但时间也很重要,而转移到另一个托管看起来要容易得多)。

1 个答案:

答案 0 :(得分:3)

这取决于你所说的“更快”。如果瓶颈实际上是磁盘,如果快速盒子中的CPU运行速度是慢速盒子中速度的十倍,那么 at 无关紧要。

极端的例子,假设你有一个没有索引的表,所以所有查询都必须进行全表扫描。这几乎肯定会使磁盘成为瓶颈,因为您必须将整个表加载到内存中(尽管不一定全部同时加载)以选择相关的行。

如果将这个效率低下的查询转移到具有较大CPU但类似磁盘的盒子中,您将看不到太多改进。

但是,如果添加一个索引,只允许您处理完整表的0.01%,那么可以在不使用更快的CPU的情况下提高性能。

通过各种方式调查移动到另一台主机,但我想您可能会发现分析较慢的查询并确定要添加哪些索引以加快它们的速度会更容易。

在我看来,执行alter table ... create index ...语句要比转移工作量简单得多。

只要确保无论你做什么,都要衡量影响力。如果没有指标之前和之后,优化注定要失败:换句话说,衡量,不要猜测!