0

我正在查看慢查询日志,发现以下查询花费了太多时间

# 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;

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

4

1 回答 1

0

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

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

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

于 2013-03-27T23:01:03.950 回答