MySQL ロックの分類と適用
データベースへの同時アクセスの場合にデータの一貫性と整合性を確保するために、MySQL はロック メカニズムを提供します。 。ロックは主要なリソースを保護し、同時トランザクションによるデータのアクセスと変更を制御できます。この記事では、MySQL ロックの分類と適用を紹介し、具体的なコード例を示します。
1. MySQL ロックの分類
MySQL ロックは、共有ロック (Shared Lock) と排他的ロック (Exclusive Lock) に分類できます。共有ロックと排他ロックは相互に排他的であり、同じリソース上に同時に存在することはできません。共有ロックは読み取り操作に使用され、複数のトランザクションが同じリソースの共有ロックを同時に取得できるようにします。排他ロックは書き込み操作に使用され、1 つのトランザクションのみがリソースの排他ロックを取得できます。
MySQL では一般的に 3 種類のロックが使用されます。
2. MySQL ロック アプリケーション
-- 事务1 START TRANSACTION; LOCK TABLES table_name WRITE; -- 执行写操作 COMMIT; -- 事务2 START TRANSACTION; LOCK TABLES table_name READ; -- 执行读操作 COMMIT;
-- 事务1 START TRANSACTION; SELECT * FROM table_name WHERE id = 1 LOCK IN SHARE MODE; -- 读取数据 COMMIT; -- 事务2 START TRANSACTION; SELECT * FROM table_name WHERE id = 1 FOR UPDATE; -- 更新数据 COMMIT;
-- 事务1 START TRANSACTION; SELECT * FROM table_name WHERE id BETWEEN 1 AND 100 LOCK IN SHARE MODE; -- 读取数据 COMMIT; -- 事务2 START TRANSACTION; SELECT * FROM table_name WHERE id BETWEEN 1 AND 100 FOR UPDATE; -- 更新数据 COMMIT;
以上が分類と応用: MySQL ロックの種類と使用法を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。