トランザクション制御

今回は、mysqlを使用する。

<?php
//トランザクション開始
$sql = "begin";
if (!(mysql_query($sql))) {
  exit;
}

//SQL実行
$sql = "delete from sample where id = 22'";
if (!(mysql_query($sql))) {
    exit;
}


// MySQL トランザクションコミット
$sql = "commit";
if (!(mysql_query($sql))) {
  exit;
}

// MySQL トランザクションロールバック
$sql = "rollback";
if (!(mysql_query($sql))) {
  die;
}
?>

【参考URL】
ディレクトリオブジェクトの作成
http://kiyoeri.gotdns.org/~kiyoeri/pukiwikiplus/?MySQL%2FPHP%A4%C7%A4%CE%BB%C8%CD%D1

MYSQLのテーブルのタイプ

MYSQLのテーブルのタイプには、
MyISAMInnoDBってのがあるらしい。


MyISAMの特徴と問題点

  • >デフォルトのテーブルタイプ
  • >シンプル
  • >高速に動作
  • >フルテキスト検索に対応

欠点: トランザクションや外部キー制約をサポートしない
欠点: テーブルレベルでロックをかけるという点でロックの粒度が荒い
etc

InnoDBの特徴と問題点

欠点: フルテキスト検索ができない
欠点: パフォーマンスが悪い


【参考URL】
http://journal.mycom.co.jp/news/2009/03/27/048/index.html