EAV では値にデータ型を使用していますが、8000 バイトsql_variant
なので、データ型の値ごとに 1 つのテーブルを使用する方がよいと思いsql_variant
ます。このデータ型が巨大な値であることが心配です。
あなたの考えは何ですか?どちらが良いですか?
タンエックス
EAV では値にデータ型を使用していますが、8000 バイトsql_variant
なので、データ型の値ごとに 1 つのテーブルを使用する方がよいと思いsql_variant
ます。このデータ型が巨大な値であることが心配です。
あなたの考えは何ですか?どちらが良いですか?
タンエックス
この質問はかなり古いと思いますが、とにかく答えると思いました。
SQL_VARIANT
すべての行に 8000 バイトを使用しません。「基本データ型」と同じバイト数 + 最大 16 バイトを使用して、エントリのメタデータを格納します。ほとんどの EAV で問題なく動作し、元のデータ型を保持するという利点もあります。に変換する必要がないため、特に挿入ではかなり高速ですVARCHAR
。
本当の問題は、EAV で使用するかどうかではありませんSQL_Variant
...本当の問題は、そもそも EAV を使用している理由かもしれません。;-)