php は mysql ロックを使用する必要がありますか?
通常の状況では、MYSQL は更新操作中に自動的にテーブルを追加します。ロック。明示的なロックは必要ありません。データが厳密な論理的な書き込み順序を必要とする場合を除きます。
クエリ ステートメント (SELECT) を実行する前に、関連するすべてのテーブルに読み取りロックが自動的に追加されます。更新操作 (UPDATE、DELETE、INSERT など) が実行される前に、書き込みロックがテーブルに自動的に追加されます。このプロセスにはユーザーの介入は必要ありません。したがって、通常、ユーザーは LOCK TABLE コマンドを直接使用して MyISAM テーブルを明示的にロックする必要はありません。
関連紹介:
ページ レベル: エンジン BDB。
テーブル レベル: エンジン MyISAM、テーブル全体をロックするものとして理解され、同時に読み取ることはできますが、書き込むことはできません
行レベル: エンジン INNODB、レコードの単一行はlocked
1 ) テーブルレベルのロック: 低いオーバーヘッド、高速なロック、デッドロックなし、大きなロック粒度、ロック競合の可能性が最も高く、同時実行性が最も低い。
2) 行レベルのロック: オーバーヘッドが高く、ロックが遅い; デッドロックが発生する可能性がある; ロックの粒度は最も小さく、ロックの競合の可能性は最も低く、同時実行性の度合いも最も高くなります。
3) ページ ロック: コストとロック時間はテーブル ロックと行ロックの間であり、デッドロックが発生します。ロックの粒度はテーブル ロックと行ロックの間で、同時実行性は平均的です。
推奨チュートリアル: PHP チュートリアル
以上がPHPはmysqlロックを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。