2012-01-15 1 views
2

私のアプリケーションの可能なデータ構造を試しています。私はSQL Serverのデータテーブルの1つに、予期しないサイズのさまざまなデータを保持するために列をプロビジョニングする必要があります。SQL Server 2008 R2で最も柔軟なデータ型は何ですか?

文字通り、これはテキストの文字列、またはその間のBase64でエンコードされたビデオクリップと、すべてを意味するかもしれません。

私はインスタント応答は、私は、異なるタイプのための引当金の異なるテーブルがすべきことになるだろうことを認識 - と私は同意していない - しかし、ここでユーモアを私にしてください。

varchar(MAX)? 
nvarchar(MAX)? 

私はDBAはないですので、私は私の最も低いストレージコストのために最も柔軟性を与えどのタイプか分かりません。

+0

テキストデータと、ベース64エンコードされたビデオクリップは、単に長さを変えることで、両方の文字列です。 *その他の種類のデータを(ネイティブ形式で)保存しますか? –

+0

現時点では、非常に長い文字列以外のものを保存する必要があるとは想像できません。どのメディアもBase64形式でエンコードできますか?バイトを格納する必要があると思っていますか?ご意見ありがとうございます。 –

+0

Base64でエンコードされた文字列を格納する場合は、VARCHAR(MAX)を使用します。 http://stackoverflow.com/questions/2397624/which-sql-data-type-to-store-base64-encoded-file – vmvadivel

答えて

7

VARBINARY(MAX)?原則として

、単一のタイプに複数の異なるデータ型を強制しようとすることは悪い考えです。あなたは、それぞれのタイプごとに異なるテーブルを用意する方が良いかもしれません。しかし、あなたはフィールドを検索するつもりはありませんしている場合、あなたはバイナリフィールドで何かを行うことができるはず...

+0

ありがとうございました!私はこのデータ型を今読んでいます(これを勝利の答えとして選択する前に他のSOユーザーのために慎重になりたい)。あなたの頭の上から、このタイプが他のMAXタイプと比較してどれだけのデータ量を持っているか知っていますか?または、保管はとても安いので、最近は問題がありますか?私たちは意見を求めるべきではないと知っていますが、あなたの意見は本当に役に立ちます。ありがとう。 –

+0

オブジェクトサイズ+ 2バイトだと思います。そして、いいえ、私は宇宙利用の違いについて心配しません。正しいタイプを選択してください。妥協しないで、決してほとんど必要としないほとんど知覚できない最適化をしてください。 – MatBailie

+0

大きなアドバイス!投稿したすべての人に感謝しますが、この回答は勝者のようです。ありがとうございました! –

1

xmlデータ型を使用することを検討してください。任意のXML文書を保管、照会、索引付けすることができます。

+0

バイナリオブジェクトをXMLに格納できるようにすることはできますか? – MatBailie

+0

ジョンありがとう!私は答えを年代順にチェックしています。私はXMLを考えなかったでしょう。面白い。 。 。 –

+0

@Dems:はい、XML内にbase64としてバイナリを格納することができます –

関連する問題