Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL 5.5性能_Mysql_Performance - Fatal编程技术网

MySQL 5.5性能

MySQL 5.5性能,mysql,performance,Mysql,Performance,我们最近将mysql升级到版本5.5.17 frm 5.1。这样一来,在5.1中运行良好的许多查询的性能就会严重下降。我开始更新查询,但是有太多的查询需要更新。我想知道这里是否有人已经经历了这一切,并有更好的想法 编辑1: 例如,我意识到,与5.1相比,5.5中连接两个表并使用contant的where条件的查询速度非常慢。在其中一个表中添加常量值并在联接中使用它时,会有所帮助。所以在下面的查询中,第二个比第一个快得多 select t1.* from t1, t2 where t1.fiel

我们最近将mysql升级到版本5.5.17 frm 5.1。这样一来,在5.1中运行良好的许多查询的性能就会严重下降。我开始更新查询,但是有太多的查询需要更新。我想知道这里是否有人已经经历了这一切,并有更好的想法

编辑1: 例如,我意识到,与5.1相比,5.5中连接两个表并使用contant的where条件的查询速度非常慢。在其中一个表中添加常量值并在联接中使用它时,会有所帮助。所以在下面的查询中,第二个比第一个快得多

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"

在某些情况下,MySQL 5.1有时可能会优于MySQL 5.5

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1(内置InnoDB)
  • 带有InnoDB插件的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的新版本表现更好,你必须调整它。其实,

我是什么意思


在MySQL 5.5中。这可以在多核服务器中使用更多的CPU左未配置,MySQL 5.5在大多数情况下与MySQL的旧版本在相同的公平竞争环境下运行。有时,它的性能可能会更差。

有时MySQL 5.1在某些情况下可能会优于MySQL 5.5

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1(内置InnoDB)
  • 带有InnoDB插件的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的新版本表现更好,你必须调整它。其实,

我是什么意思


在MySQL 5.5中。这可以在多核服务器中使用更多的CPU左未配置,MySQL 5.5在大多数情况下与MySQL的旧版本在相同的公平竞争环境下运行。有时候,它的性能可能会更差。

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


在CentOS上测试。

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


在CentOS上测试。

如果您可以发布示例查询和
解释的输出,将非常有用。如果您可以发布示例查询和
解释的输出,将非常有用。感谢@RoalndoMySQLDBA的回复。您提供的信息对我来说很难消化,因此需要一些时间来阅读和理解。谢谢@Charles的回复。我用例子和结果编辑了我的原始帖子,我认为这是不对的。测试是用配置好的MySQL执行的。未配置的MySQL测试不会提供任何有用的信息,甚至不会提供任何轶事数据点。感谢@RoalndoMySQLDBA的回复。您提供的信息对我来说很难消化,因此需要一些时间来阅读和理解。谢谢@Charles的回复。我用例子和结果编辑了我的原始帖子,我认为这是不对的。测试是用配置好的MySQL执行的。未配置的MySQL测试不会提供任何有用的信息,甚至不会提供任何轶事数据点。