2009-08-27 2 views
1

ドメインに関する一般的な質問があります。 私は、テーブルを作成してもドメインを使用しないと、RDB $ 1、RDB $ 2、RDB $ 3、asoなどのデフォルトドメインが作成されることを認識しました。 ここに私の質問があります: - デフォルトの作成されたドメインにどのような影響がありますか? - データベースのサイズが大きくなっていますか? - パフォーマンスに影響はありませんか? - 私が使用するすべてのデータタイプに対してドメインを作成し、ドメインを代わりに使用しますか?Firebirdのドメイン

thx

答えて

3

影響とサイズが非常に小さい。

ドメインを更新すると、そのドメインを使用しているすべてのフィールドで更新されるため、ドメインを使用する方がよいでしょう。

1

既定の作成済みドメインは、ユーザーが作成したドメインと同じ影響を与えます。

ドメイン作成の特定のアクション(ユーザーまたはデフォルト作成)によって占有される領域は、ドメイン自体を定義するシステムテーブルに格納されているデータにのみ関係します。 データベースに格納されているデータが占める領域には影響しません。

実データを含むデータベースでは、メタデータが占有する領域はデータが占める領域に比べて無視できるため、ドメインの影響はあまりありません。

可読性とメンテナンスの目的で、ユーザードメインの使用をお勧めします。

1

パフォーマンスの唯一の影響は、ドメインから情報を取得する必要がある管理ツールで確認できます。あなたがデータベースを持っているなら、平均して20の列を持つ500のテーブル、つまり10000のドメインを考えてみましょう。カスタムドメインを使用している場合は、50を超えることがあります。したがって、管理ツールは表と列の定義をはるかに高速に読み込みます。

本当に心配すべきことは、論理です。ドメインを使用すると、たとえば外部キーに問題が発生する可能性のある列のデータ型が一致しないことが保証されます。また、一部のドメインデータ型をグローバルに変更するのが簡単になります。たとえば、以前の私のデータベースのCustomerテーブルのCustomerIDのデータ型を変更することにしました。約50の外部キーで参照されます。ドメインでは、SQLスクリプトをダンプしてドメインの定義を変更するのと同じくらい簡単でした。ドメインがなければ、私は巨大なSQLスクリプトの代わりに検索&を実行しなければならないでしょう - もちろん間違いやすいです。