関係データベース管理システムの比較(かんけいデータベースかんりシステムのひかく)では、関係データベース管理システムの比較について説明する。特記されていない限り、アドオンや外部プログラムを含まない、最新の安定バージョンに基づいて比較を行っている。
一般的な情報
対応オペレーティングシステム
サポートするオペレーティングシステムの比較を以下に示す。
注記 (1): 利用可能か否かはオペレーティングシステムではなくJava仮想マシンに依存する。
基本機能
基本的な機能の比較を以下に示す。
注記 (1): InnoDB でのみ利用できる。MyISAM では利用できない。
注記 (2): Unicodeの補助文字 (supplementary character)への対応はMySQL 5.5以降。
注記 (3): SQL Server 2005以降のREAD_COMMITTED_SNAPSHOT。
注記 (4): DB2 9.7以降のCS with CC。
注記 (5): Ingres 10以降のMVCC利用可能にしたDBに対して、システム単位(SYSTEM_LOCK_LEVEL=MVCC)で指定、もしくはセッション(SET LOCKMODE SESSION WHERE LEVEL = MVCC)、テーブル単位(SET LOCKMODE ON テーブル WHERE LEVEL = MVCC)で指定する。
数量制限
数量制限の比較を以下に示す。
注記 (3): InnoDB では 8000 バイトまで。(VARBINARY, VARCHAR, BLOB, TEXT 列を除く) [2]
注記 (4): InnoDB では 1000 列まで。[3]
注記 (5): PostgreSQL のサイズは text, bytea, xml 等を除外して約8000バイトが最大。
注記 (6): SQL Server 2005 以降の VARCHAR(MAX) を用いた場合。
注記 (7): H2 Database のサイズは BLOB と CLOB を除外して計算する。
注記 (8): Java の配列型の制限 (231) が識別子サイズ、行数、列数、文字数などに影響する。
インデックス
B-/B 木 インデックス以外のインデックスの比較を以下に示す。
注記 (1): freeAdhocUDF ライブラリの関数が必要がある。
注記 (2): SQL Server 2008以降空間インデックスがサポートされたがBツリーを使用して構築される。
注記 (3): 計算列でのインデックス作成 または ビューでのインデックス作成 で代用する。
問い合わせ機能
問い合わせ機能の比較を以下に示す。全てのデータベースでサポートされている以下の機能は省略する。
- 内部結合
- Union
- BLOB および CLOB
その他の機能
その他の機能の比較を以下に示す。
注記 (1): クエリ最適化のサポートは Developer と Enterprise 版のみ。その他の版ではマテリアライズドビューへの直接参照とクエリヒントが必要になる。[4].
パーティショニング
パーティショニングの比較を以下に示す。
セキュリティ
情報セキュリティとアクセス制御の比較を以下に示す。
注記 (2): パスワードの長さの下限や使用する文字の複雑さを強制できるか否か。
注記 (3): セキュリティ情報が公開されており、セキュリティ・アップデートを手に入れられるか否か。リリースノートには記載されていても専用のページを持たない場合は「部分的」とする。
注記 (5): バックアップ、監査、ユーザやデータベースの管理を行う権限を分離できるか否か。
注記 (6): Common Criteria certified product list
注記 (7): Firebird には SYSDBA ユーザと DB 所有者の概念はあるが、バックアップやセキュリティ管理の権限を分離することはできない。
脚注
関連項目
- 関係データベース管理システム
- データベース接続クライアント
- en:Comparison of database tools
外部リンク
- Comparison of different SQL implementations against SQL standards. Includes Oracle, DB2, Microsoft SQL Server, MySQL and PostgreSQL. (2007-06-08)
- The SQL92 standard




