不明なタイプ(ただし、保存する前に確認することは可能)(抽象タイプ)のデータを保存する必要があります。私はそれを保存する2つのバリエーションを見ることができます。
データ型を確認し、型固有のテーブルに移動します。タイプ固有のものが多いと、抽象化には適していません。
または、すべてをバリアントとして保存します。
大量のデータがあり、ブール型のデータをsql_variantに保存すると、過度のメモリの浪費が発生するのではないかと心配しています。そうですか?
そのような状況に対する他の解決策はありますか?
あなたの質問から正しい答えを決定するのは難しいです。
あなたが期待しているデータ型と、その型で何をするつもりですか?
なぜなら、タイプごとに多くのテーブルを作成しようとすると、sql_variantタイプを使用するよりも、ディスク上で複雑になり、サイズが大きくなるからです。ブール値を表すためにsql_variantを使用する場合、オーバーヘッドの1バイト(データ型の種類を格納するため)+可変長バイト(おそらくすでにテーブルにある)のみを表すことに注意してください。ただし、そのタイプを使用していて、複雑なミッションクリティカルなロジックがあり、データアクセスフレームワークがsql_variantをサポートしていない場合は、sql_variantを使用しないでください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加