sql >> データベース >  >> RDS >> Sqlserver

技術的な比較:MicrosoftAccess2016とSQLServer2016

    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に含まれる機能
    • 購入費用
    • 維持するためのコスト
    • トレーニング要件
    • 他のシステムとの相互運用性
    • セキュリティ要件
    • カスタマイズする機能

    ソース

    1. 「Access2016仕様」。 MicrosoftOfficeサポートWebサイト。 2016年6月5日取得。
    2. 「SQLServerの最大容量仕様」。 SQLServer2016テクニカルドキュメント。 MicrosoftDeveloperNetwork。 2016年6月5日取得。

    1. Access2019オープニングワークスペースをナビゲートする方法

    2. SQL Server(T-SQL)で「date」を「smalldatetime」に変換する例

    3. SQLServerプロセスキューの競合状態

    4. MariaDB 10.0/10.1でのInnoDBパーティションのインポート