0

私のサイトには複数のテーブルがあります:

ルックアップテーブルまたはvarcharそれ自体から外部キーを保存するのが最善ですか。

私のサイトテーブルの2つは

job_profile
    id
    title
    salary_range_seeking
    cv_link
    datetime_created
    job_type

job_type
    id
    type

job type-type値はFull TimePart Time

したがって、たとえば、id をjob_type列に格納しjob_typeて参照整合性を維持するか、フロントエンドでユーザーが値を選択してテキスト値を列に格納するのが最適job_typeです。最高のパフォーマンス オプションと推奨されるプラクティスを探しています。

4

2 に答える 2

0

テキスト値をフィールドに格納する代わりに外部キーを使用すると、使用されるメモリの量が減るため、パフォーマンスが向上します。

これは、フィールドの値(この場合はjob_type)が高率で繰り返される場合に推奨される方法です。

于 2012-08-07T19:17:15.737 に答える
0

読み取りまたは書き込みのパフォーマンス?またはレポートを実行していますか?データをどのように保存するかは、データをどのように使用するか、およびどのように保存するかによって大きく異なります。

現在、varcharではなくidを保存することが一般的に受け入れられています。これにはいくつかの理由がありますが、主な理由は、それが一般的に受け入れられている方法であるということです。これにより、将来、他の人にとって、そしておそらくあなたにとっても、あなたの仕事のサポートが容易になります。提供する基本的なレイアウトでは、このデータを何に使用しているかに関係なく、パフォーマンスへの影響はほとんどありません。

テーブルの主な目的がjob_profileテーブルからレポートを実行することである場合は、varcharを保存し、結合を行う必要がないため、パフォーマンスが向上します。このタイプの非正規化は、データウェアハウスタイプのアプリケーションで通常見られるものであり、データの取得と表示を高速化するために、より多くのメモリとストレージを使用することでトレードオフを行います。

于 2012-08-07T19:17:37.280 に答える