タグ

2010年1月15日のブックマーク (2件)

  • MySQLのInnoDBでのデッドロック - mixi engineer blog

    こんにちは、mixi開発部にてアプリケーション開発をしていますyouheiです。 今回は、MySQL-5.0.45のInnoDBで連番を管理するテーブルのパフォーマンス測定をしていたのですが、その際に少し変わったデッドロック問題に遭遇しましたので、そのあたりをネタとして書いてみたいと思います。 まずは、今回使用したデータベースのスキーマは下記のようなものです。 CREATE TABLE num ( id bigint unsigned NOT NULL default '0' ) Engine=InnoDB; AUTO_INCREMENTは使用していません。 そこに1レコードだけ登録します。 INSERT INTO num (id) values (1); そして実際連番を取得する際には、 UPDATE num SET id = LAST_INSERT_ID(id+1); といったクエリを

    MySQLのInnoDBでのデッドロック - mixi engineer blog
  • PHP/セッション管理 - がしまっくす

    独自セッション管理の注意点 † DB, memcached 等を使ってセッション管理を行う場合は、以下の点に注意する。 php.ini の session.auto_start の値が 0 になっていないと正常に機能しない。 session.save_hander の値を user にする必要がある。php.ini で設定したくない場合は ini_set() で設定する。 PHP5.0.5以降の場合は session_start() を呼ぶ前に下記を実行する。 register_shutdown_function('session_write_close'); ↑ MySQL を使ったセッション管理 † セッション管理用のテーブルを作成し、独自セッションハンドラを定義する。 ■ テーブル sessions CREATE TABLE `sessions` ( `id` varchar(32