今天, MySQL在Facebook上发布了关于MySQL性能的以下内容:
今天我们发现了一个完全出乎意料的性能问题 – 如果正在使用TIMESTAMP数据types,并将MySQLconfiguration为使用系统时区,则会在具有全局互斥体的Linux C库中创build一个代码。 为了增加伤害,在单线程工作负载下,MySQL的内部时区支持(使用mysql.time_zone *表)速度提高了30%。 拥有30个客户端线程MySQL的内部时区转换快了30倍。 这一天开始的东西看起来像一个MySQL的错误,但显然这是一个MySQL的胜利。 – domas
我如何确定我的MySQL实例是使用较慢的系统时区还是使用更快的mysql.time_zone*表? 即我应该检查哪些MySQLconfiguration参数?
(我们实际上使用Amazon RDS而不是托pipe我们自己的数据库,但是我不认为除了检查my.cnf ,我需要使用RDS参数组来检查或更改configurationvariables。)
从链接的文章
一旦你加载了文件(通过http://dev.mysql.com/…/time-zone-support.html ),只需在
my.cnf指定全局的time_zoneconfiguration参数,或者用SET GLOBAL ...改变它SET GLOBAL ...– 仍然不要忘记在my.cnf改变它。 请注意,您也可以在所有从属设备上执行此操作,因为复制受到不同时区的影响。
您可以使用确定global.time_zone设置
mysql> select @@global.time_zone; +--------------------+ | @@global.time_zone | +--------------------+ | SYSTEM | +--------------------+ 1 row in set (0.00 sec)