2016/07/02 YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa
![MySQLおじさんの逆襲](https://cdn-ak-scissors.b.st-hatena.com/image/square/7e522c172055ca6cecdfef5501269c64677ec877/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fcounterattackofmysqlman-160610053059-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分離レベル トランザクション分離レベルとは: 複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい「分離」するか,のレベル。 ANSI規格では,4つのレベルがある。 READ UNCOMMITTED (一番低い) READ COMMITTED REPEATABLE READ SERIALIZABLE(一番高い) 徹底比較!! PostgreSQL vs MySQL 第3回:トランザクションの比較 http://thinkit.co.jp/free/article/060... トランザクション処理に詳しく
環境: CakePHP 1.3 CakePHPのModelクラスには直接トランザクションを制御するメソッドがない。そこで例えば次のようにAppModelにメソッドを定義する。 class AppModel extends Model { function begin() { return $this->getDataSource()->begin($this); } function commit() { return $this->getDataSource()->commit($this); } function rollback() { return $this->getDataSource()->rollback($this); } } しかしこの方法ではテストがやりにくい。明示的にトランザクションを制御したい時というのは、複数のテーブルにまたがる複雑なロジックを組むことが多いので
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く