MicrosoftAccessとSQLServerは、Microsoftの2つのリレーショナルデータベース管理システムです。それぞれに長所と短所があります。 Accessが仕事に理想的なツールである場合が多くあります。 SQLServerのようなより洗練されたソリューションがより適切な場合もあります。
どちらを使用するかを決定する場合、各システムの技術仕様を並べて比較すると非常に役立ちます。以下は、各システムの技術的限界のいくつかを並べて比較したものです。
属性 | 2016年にアクセス | SQL Server 2016 |
---|---|---|
データベースの最大サイズ(すべてのオブジェクトとデータを含む) | 2 GB、システムオブジェクトに必要なスペースを差し引いたもの。 | 524,272テラバイト |
最大データサイズ | 2GBからシステムオブジェクトを差し引いた後に残ったもの。 | 16テラバイト |
同時ユーザー/同時接続の最大数 | 255 | 32,767 |
テーブルあたりの列/フィールドの最大数 | 255 | 非ワイドテーブルの場合は1,024 ワイドテーブルの場合は30,000 |
テキストフィールドの文字数(アクセス) varchar(max)、varbinary(max)、xml、text、またはimage列あたりのバイト数(SQL Server) | 255 | 2 ^ 31-1 |
ロングテキストフィールド(Access)の文字数、またはntextまたはnvarchar(max)列(SQL Server)あたりの文字数 | ユーザーインターフェイスからデータを入力する場合は65,535、プログラムでデータを入力する場合は1ギガバイトの文字ストレージ。フィールドのUnicodeCompressionプロパティが[はい]に設定されている場合は4,000。この制限は、OLEオブジェクトフィールドにも適用されます。 | 2 ^ 30-1 |
テーブル内のインデックスの数 | 32には、テーブルの関係を維持するために内部で作成されたインデックス、単一フィールドおよび複合インデックスが含まれます。 | テーブルごとに999個の非クラスター化インデックス。 メモリ最適化テーブルごとに8つのインデックス。 |
SQLステートメントの文字数 | 約64,000* | 65,536*ネットワークパケットサイズ ネットワークパケットサイズは、アプリケーションとリレーショナルデータベースエンジン間の通信に使用される表形式のデータストリーム(TDS)パケットのサイズです。デフォルトのパケットサイズは4KBで、ネットワークパケットサイズ設定オプションによって制御されます。 |
データベース内のオブジェクトの数 | 32,768 | 2,147,483,647 |
外部キーあたりのフィールド/列の数 | 10 | 16 |
主キーあたりのフィールド/列の数 | 10 | 16 |
インデックスあたりのフィールド/列の数 | 10 | 16 テーブルに1つ以上のXMLインデックスが含まれている場合、XML列がプライマリXMLインデックスのクラスタリングキーに追加されるため、ユーザーテーブルのクラスタリングキーは15列に制限されます。 SQL Serverでは、非クラスター化インデックスに非キー列を含めて、最大16個のキー列の制限を回避できます。 |
レコードセット/SELECTステートメントのフィールド/列の数 | 255 | 4,096 |
ネストされたサブクエリの数 | 50 * | 32 |
*クエリに複数値のルックアップフィールドが含まれている場合は、低くなる可能性があります。
技術仕様は、RDBMSを選択する際に考慮すべき多くの要素の1つにすぎないことに注意してください。考慮すべきその他の要因には、次のものがあります。
- 各RDBMSに含まれる機能
- 購入費用
- 維持するためのコスト
- トレーニング要件
- 他のシステムとの相互運用性
- セキュリティ要件
- カスタマイズする機能
ソース
- 「Access2016仕様」。 MicrosoftOfficeサポートWebサイト。 2016年6月5日取得。
- 「SQLServerの最大容量仕様」。 SQLServer2016テクニカルドキュメント。 MicrosoftDeveloperNetwork。 2016年6月5日取得。