1
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
なぜこのようなテーブルをロックするような単純な選択クエリですか?
本当ですか?私は専門家ではないが、その行は「テーブルロックがないことを確認する」ことを意味する可能性がある。一般に、afmaは、明示的に要求されない限り、完全なテーブルロックを適用しません。 –
あなたが正しいかもしれない、私はそれがすべての行の意味を記述する場所を見つけていない。 –