MySQL 5.5性能

时间:2012-02-08 22:55:33

标签: mysql performance

我们最近将mysql升级到版本5.5.17 frm 5.1。有了这个,在5.1中运行良好的许多查询的性能都严重下降。我开始更新查询,但也有任何更新。我想知道这里是否有人已经完成了这个并且有更好的想法。

EDIT1: 作为一个例子,我意识到连接两个表并且使用一个使用一个标准的where标准的查询在5.5中与5.1相比非常慢。在其中一个表中添加常量值并在连接中使用它有帮助。因此,在下面的查询中,第二个查询比第一个快得多。

select t1.* 
from t1, t2
where t1.field1 = t2.field1
and t1.field2 = 100;

"id"    "select_type"   "table" "type"  "possible_keys" "key"   "key_len"   "ref"   "rows"  "Extra"
"1" "SIMPLE"    "t1"    "ALL"   "PRIMARY"   \N  \N  \N  "1" "Using where"
"1" "SIMPLE"    "t2"    "eq_ref"    "PRIMARY"   "PRIMARY"   "152"   "t1.field1" "1" "Using index"

select t1.* 
from t1, t2
where t1.field1 = t2.field1
and t1.field2 = t2.field2; -- i added a col field2 in t2 with value = 100

"id"    "select_type"   "table" "type"  "possible_keys" "key"   "key_len"   "ref"   "rows"  "Extra"
"1" "SIMPLE"    "t1"    "ALL"   "PRIMARY"   \N  \N  \N  "1" ""
"1" "SIMPLE"    "t2"    "eq_ref"    "PRIMARY"   "PRIMARY"   "152"   "t1.field1" "1" "Using where"

2 个答案:

答案 0 :(得分:4)

在某些情况下,MySQL 5.1有时可能胜过MySQL 5.5。

Percona performed a bake-off among multiple releases of MySQL

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1(内置InnoDB)
  • 使用InnoDB-plugin的MySQL 5.1
  • MySQL 5.5
  • MySQL 5.6

所有测试均在MySQL未配置的情况下进行(换句话说,没有制作my.cnf)。结果?

  • MySQL 4.1执行最佳单线程
  • 带有InnoDB插件的MySQL 5.1在多个内核上的扩展性优于5.1内置的InnoDB,5.5和5.6

如果您希望更新版本的MySQL能够更好地运行,您必须调整它。实际上,I described in the DBA StackExchange the idea of performing a MySQL Bakeoff

我的意思是什么呢?

在MySQL 5.5中,there are new InnoDB options for utilizing more dedicated read threads, write threads, and overall I/O capacity。这可以吸引多核服务器中的更多CPU。 左未配置 ,MySQL 5.5将在相同级别的竞争环境中运行,在大多数情况下,作为旧版本的MySQL运行。有时,它可能会表现得更糟。

答案 1 :(得分:0)

不幸的是,底层文件系统也在影响mysql的速度。在我的测量中,ext3文件系统的相同mysql版本比ext4快得多。

在CentOS上测试。