我正在查看慢速查询日志,我发现以下查询占用了太多时间
# 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;
我应该怎样做才能优化查询时间,以及如何最小化锁定时间?
答案 0 :(得分:0)
有一件事你可以尝试,如果表是MyISAM类型,将其更改为InnoDB,InnoDB支持在行级别上锁定,意味着如果要更新表,其他查询不必等到操作完成,如果没有访问同一行。
否则查询看起来很简单,我不希望货币表会经常变化。
如果不是这种情况,请检查是否正确配置了缓存,例如使用https://launchpad.net/mysql-tuning-primer