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 に答える