慢查询日志中的查询,锁定时间过长

时间:2013-03-27 22:27:32

标签: mysql

我正在查看慢速查询日志,我发现以下查询占用了太多时间

# Query_time: 4875.960250  Lock_time: 4819.281516 Rows_sent: 1  Rows_examined: 1
use mydb;
SET timestamp=1358591898;
SELECT `Currency`.`rate` 
FROM `currencies` AS `Currency`   
WHERE `Currency`.`currency` = 'usd '    
LIMIT 1;

我应该怎样做才能优化查询时间,以及如何最小化锁定时间?

1 个答案:

答案 0 :(得分:0)

有一件事你可以尝试,如果表是MyISAM类型,将其更改为InnoDB,InnoDB支持在行级别上锁定,意味着如果要更新表,其他查询不必等到操作完成,如果没有访问同一行。

否则查询看起来很简单,我不希望货币表会经常变化。

如果不是这种情况,请检查是否正确配置了缓存,例如使用https://launchpad.net/mysql-tuning-primer