0

SQL Server データベースにテーブルを作成するときに、どちらを使用するかの違いがよくわかりません。テーブルを作成するとき、一方が他方よりも安全または高速ですか?

4

2 に答える 2

0

SMO ステートメントと DDL ステートメントは、重複する場合もありますが、異なる目的で使用されます。

データベース スキーマをプログラムで制御する場合は、SMO を使用します。1 つの例は、「動的」列の追加です。これは、システムが実行時にデータベース列を追加し、それらをビジネス レイヤーや GUI にマッピングすることをサポートしていることを意味します。もう 1 つの例は、インデックスのセグメンテーションを制御し、状況が悪化したときに警告を発することです。

アプリのインストール用のセットアップ スクリプトを作成する場合は、TSQL DDL を使用します。はるかに簡単で簡単です。

編集

SMO を使用すると、オブジェクト モデルと API を取得できます。すべての列を 1 つずつ通過する必要があると想像してください。SMO を使用すると、必要なメタデータを指定してロードし、列のコレクションをループします。ADO.NET では、INFORMATION_SCHEMA とシステム テーブルに対してクエリを実行してスキーマを取得します (外部キーに関するすべての情報を取得して、そのコードを調べます)。

テーブルを作成したり、テーブルに列を追加したりする場合、それほど違いはないかもしれませんが、実際にはまったく違いがないかもしれません。しかし、複数のテーブルとキーを管理する場合は、別の話になります。

于 2013-08-01T17:16:45.160 に答える