2011-12-23 5 views
1

私は選択クエリのロックのInnoDBのテーブル

SELECT column FROM table WHERE id=5; 

のようなテーブルから、非常に単純な選択をしていますidが主キーであり、すべてのテーブルはInnoDBテーブルを使用しています。私はphpMyAdminの中にプロファイリングを有効にして、私はこれを参照してください。このクエリを実行すると

:クエリがキャッシュされているので

Status       Time 
starting       0.000025 
checking query cache for query 0.000034 
checking permissions    0.000004 
Opening tables     0.000022 
System lock      0.000004 
Table lock      0.000022 
init        0.000016 
optimizing      0.000008 
statistics      0.000030 
preparing      0.000022 
executing      0.000003 
Sending data      0.000009 
end        0.000002 
query end      0.000003 
freeing items     0.000061 
storing result in query cache 0.000005 
logging slow query    0.000002 
cleaning up      0.000002 

は、私は同じクエリを実行して二回目は、私はこれを取得:

Status       Time 
starting       0.000022 
checking query cache for query 0.000005 
checking privileges on cached 0.000003 
checking permissions    0.000020 
sending cached result to clien 0.000055 
logging slow query    0.000002 
cleaning up      0.000002 

なぜこのようなテーブルをロックするような単純な選択クエリですか?

+0

本当ですか?私は専門家ではないが、その行は「テーブルロックがないことを確認する」ことを意味する可能性がある。一般に、afmaは、明示的に要求されない限り、完全なテーブルロックを適用しません。 –

+0

あなたが正しいかもしれない、私はそれがすべての行の意味を記述する場所を見つけていない。 –

答えて

関連する問題