データベース エンジンの概要 (SQL Server Compact)

Microsoft SQL Server Compact データベース エンジン は、データを格納、処理、および保護するためのコア テクノロジです。SQL Server Compact データベース エンジンを使用することにより、SQL Server Compact データベースの作成や変更、およびこのデータベースへのアクセスを、Web アプリケーションで行うことができます。また、データベース エンジンでは、アクセスの制御と迅速なトランザクション処理が提供され、企業内のデータを使用するアプリケーションの要件を満たします。

データベース エンジンのコンポーネント

SQL Server Compact データベース エンジンのコンポーネントは、ストレージ エンジンとクエリ プロセッサです。

ストレージ エンジン

SQL Server Compact ストレージ エンジンでは、以下の処理が行われます。

  • データベースが格納されているファイルと、そのファイルの領域の使用状況を管理します。

  • データの格納に使用する物理的なページの作成と読み取りを行います。

  • データ バッファーと物理ファイルへのすべての I/O を管理します。

  • トランザクションの管理とロックの使用により、データベースの行とスキーマへの同時ユーザー アクセスを制御します。

  • トランザクションの原子性、一貫性、分離性、および持続性 (ACID) を保証します。

  • インデックス構造を作成し、管理します。

  • 参照整合性をサポートします。

  • 暗号化とパスワードで保護されたデータベースをサポートします。

クエリ プロセッサ

SQL Server Compact クエリ プロセッサは、SQL の式、クエリ、およびコマンドを解析、コンパイル、最適化、および実行します。

SQL Server Compact で使用されている SQL 構文は、MicrosoftSQL Server でサポートされている Transact-SQL 構文のサブセットです。解析の間、クエリの構文が検証され、解析されたクエリを表現するデータ構造が構築されます。次に、クエリ プロセッサによってクエリのコンパイルと最適化が行われます。クエリを最適化している間、クエリ プロセッサによってクエリの実行プランが作成されます。 

SQL Server Compact クエリ オプティマイザーでは、クエリを処理する際に、以下のような利用可能なすべてのインデックスを対象としています。

  • データ操作言語 (DML) のステートメント

  • ORDER BY を使用する結合と述語

  • GROUP BY 句と DISTINCT 句

次に、クエリ プロセッサによって SQL コマンドが実行され、クエリの結果が返されます。

SQL Server Compact クエリ プロセッサにより、インデックスの値の分布に関する統計情報が自動的に作成されます。クエリ プロセッサでは、クエリの評価に最適な方法を決定するためにこの情報を使用します。また、効率的な処理に最適なインデックスを選択するために、統計を利用します。

注意

インデックス ヒントを使用すると、インデックスの選択を上書きできます。また、強制的な結合順序の指定もサポートされています。

関連項目

概念

トランザクション (SQL Server Compact)

ロック (SQL Server Compact)

その他の技術情報

データベースに対するクエリの実行 (SQL Server Compact)