私はデータベース アーキテクトではないので、この質問は完全にソフトウェア開発者の観点からのものです。私は現在、単純な設定データベースを取得するために取り組んでおり、さまざまなタイプを SQL サーバーに格納する最も効率的でパフォーマンスの高い方法は何か疑問に思っていました。たとえば、SettingA は boolean、int、float、または string 値を持つことができます。そのデータを保存するための最も効率的な方法と、取得するための最もパフォーマンスの高い方法は何ですか。
すべての型を文字列である 1 つのフィールドに格納し、アプリケーション サーバーにそれを適切な値に変換させます。
さまざまなタイプのさまざまなフィールドを用意し、アプリケーション サーバーにどのフィールドが null でないかを確認して使用させます (BooleanValue、StringValue、IntValue、FloatValue で、1 つだけが非 null で値を持つ)。
タイプに基づいて設定を異なるテーブルに正規化し、そのタイプが使用されている場合にのみテーブルに値を追加します。(Settings テーブルへの外部キーを持つ 4 つのテーブル BooleanValues、StringValues、IntValues、FloatValues)。SP は、レコードがあるテーブルを返します。
パフォーマンスは間違いなく私の最大の懸念事項ですが、スペースの問題は僅差で 2 番目です。