2012-06-28 11 views
6

SQL Server Compactデータベース(.sdf)とSQL Server Expressなどの完全なデータベースを使用する場合の主な違いは何ですか?SQL Server Compactと専用SQL Serverデータベースの短所

パフォーマンス上の大きな問題はありますか?そうであれば、コンパクトデータベースはこれに気付き始める前にどれくらい大きくできますか?

プロジェクトを開始するとき、コンパクトなデータベースを使用して、単純な、まっすぐ進む、きれいなソリューションを見つけました。いつ変換して専用のデータベースに移動する必要がありますか?

答えて

11

てみませんことができます:

  • などトリガし、どのプロセスを

    • 最大2ギガバイトのファイルサイズ
    • ませんストアドプロシージャをしかし、私の知る限りでは、あなたのAppDomain
    • にロードされ、ノーありコストベースのオプティマイザまたはクエリのクエリプラン
    • 同時に複数のユーザーの同時アクセスがない

    ここで大きな問題は、CEがシステム上のファイルであり、dllを使用して簡単なInApp呼び出しでアクセスできることです。多くのシナリオではこれで十分です。後でSQLSに切り替えることができると多くの人が言っていますが、私はそうは思わないのです。完全に異なる世界です! CEは私の目の一つの製品です。

    アプリを公開したくないときは、CE-DLLを導入する必要があることに注意してください。

  • +5

    SQL Server Compactにメモリ内キャッシュがないため、すべてのクエリが常にディスクにヒットすると付け加えます。 SQL Server Expressでは、ホットデータはメモリ内にとどまり、特にクエリが頻繁に実行される場合は、クエリの処理速度が大幅に向上します。 –

    +0

    実際にはデータベースあたり最大4 GBで、コストベースのクエリプロセッサとクエリプランがあります。また、クエリプロセッサを「回避する」API – ErikEJ

    2

    SQL Compactはストアドプロシージャをサポートしていません。すべてのクエリをコードで直接記述します。 SQL Expressを選択するだけで十分です。現在では、展開シナリオを簡素化するLocalDBのオプションも用意されています。