茨の道も一歩から

インフラ構築からプログラミング(Python・JavaScript)までITに関するブログです。

109日目:データベース

データベースの講義8日目です。

データベース試験対策を、一通り読んだ後におすすめの本。

SQLデータ分析の良書です。

【講義内容】


【ワンポイント】

トランザクション

トランザクション分離レベルと発生現象

○:発生する、×:発生しない

トランザクション分離レベル ダーティリード ファジィリード ファントム
READ UNCOMMITTED
READ COMMITTED ×
REPEATABLE READ × ×
SIREALIZABLE × × ×

発生する現象について

現象 概要
ダーティリード Commit前の変更データを他から参照出来る。
ファジィリード あるデータを複数回読み込む際に、読み込み結果が異なる。
ファントム ある検索条件に合致したデータが現れたり、消えたりする。

テーブルロック(読み込み)

LOCK
  TABLES citycopy
  READ;

テーブルロック(書き込み)

LOCK
  TABLES citycopy
  WRITE;

ロックタイムアウトの設定

  • 最低1秒以上
SET innodb_lock_wait_timuout=1;

タイムアウトによるロールバック


【今日の積み上げ】

‐ データベースの基礎