0

EAV では値にデータ型を使用していますが、8000 バイトsql_variantなので、データ型の値ごとに 1 つのテーブルを使用する方がよいと思いsql_variantます。このデータ型が巨大な値であることが心配です。

あなたの考えは何ですか?どちらが良いですか?

タンエックス

4

1 に答える 1

0

この質問はかなり古いと思いますが、とにかく答えると思いました。

SQL_VARIANTすべての行に 8000 バイトを使用しません。「基本データ型」と同じバイト数 + 最大 16 バイトを使用して、エントリのメタデータを格納します。ほとんどの EAV で問題なく動作し、元のデータ型を保持するという利点もあります。に変換する必要がないため、特に挿入ではかなり高速ですVARCHAR

本当の問題は、EAV で使用するかどうかではありませんSQL_Variant...本当の問題は、そもそも EAV を使用している理由かもしれません。;-)

于 2012-05-22T05:30:47.507 に答える