ロックの基本 ロックってなんだ データの整合性を保つために読み書きを一時的に制限する仕組み READロックとWRITEロック READロック 共有ロック 他のスレッドによるデータの読み込みは可能 他のスレッドによるデータ変更は不可 WRITEロック 排他ロック 他のスレッドによる読み込みも変更も不可 ロックキューと優先順位 ロック要求を出したときに対象がロック済みの場合はロックキューに要求を入れる WRITEロックキューとREADロックキューがあり、WRITEロックキューが優先的に処理される よってWRITEロックが続くとSELECTできない状態になる この優先順位はいろんな単位で変更可能 基本的に更新をなるべく早く反映させるためにWRITEロックが優先される ロックレベル テーブルロック ISAM/MyISAM/HEAP テーブル単位のロック デッドロックフリー 大部分が読み込みの場合に