2006-08-04 調査メモ Memo MySQL 昨日、MySQLの調査を頼まれたので色々とネットを漁ってみました。とりあえず、結果をメモしておこうかと思います。 私自身MySQLを使用したことがありませんし、DB関連の知識が足りないので内容が薄いかもしれませんが、まぁ備忘録ということで・・・。 MyISAM vs InnoDB MyISAM MySQL標準のストレージエンジン。下記をサポートしていない。 外部キー トランザクション アーカイブログ 行ロック InnoDB トランザクションセーフなストレージエンジン。 外部キー トランザクション アーカイブログ 行ロック とMyISAMでサポートしていない機能をサポートしている。 mixiはログ系を除く殆どのTable TypeはInnoDBらしい。 MyISAMに比べるとトランザクション及びクラッシュリカバリをサポートしている分若干パフォーマンスに劣る(らしい)*1。 Ver4 vs Ver5 Ver4.0 安定版で深刻なバグ以外は修正されないとされている。 Ver4.1 VARCHAR型、CHAR型がバイト数から文字数へ変更 サブクエリをサポート OpenGISをMyISAMでサポート 文字コードが増えた(utf-8,ucs2,cp932) Ver5.0 今までVARCHAR型の長さの上限は255だったが、5.0.3以降で大幅に増えて65535になった 5.0.16よりOpenGISをInnoDBでサポート 5.0.1からビューをサポート 5.0よりストアドプロシージャ/ストアドファンクションをサポート 5.0.2よりトリガをサポート 文字コードが増えた(eupjpms) 5.0.3よりXAトランザクションをサポート(分散トランザクション) スキーマのサポート Ver5.1 まだβ版(2006/08/04現在) 他のデータベースとの互換性 for update 句は使用可能? 可能。MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.2.5 ロック読み取り (SELECT ... FOR UPDATE および SELECT ... LOCK IN SHARE MODE) ROWNUM or limit offset? limit。MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.9 SELECT 構文 参考URI MySQL :: MySQL 5.6 リファレンスマニュアル ����MySQL�桼���� http://www.klab.org/media/mysql/ *1:ベンチマークとってない