2009-07-28 8 views
0

私は最初のデータベースプロジェクトを行っています。データベースの質問に対する適切な制限は何ですか?

私は質問の長さの適切な限度を知りたいと思います。

私の計画は現時点で質問の長さに対してvarchar(5000)です。

データベースの質問にはどのような制限がありますか?データベース内

[編集]

質問は、コードフォーマットで、ここでSOに質問のようなものです。

+1

どのような質問ですか? – Thomas

+0

あなたは人々にコードスニペットやダイアログのセクションを含めるつもりですか?書式設定文字はありますか? – lavinio

+1

あなたはそれがどんなタイプの質問であるかを明確にすることができますか? – statenjason

答えて

3

データ型はnvarchar(max)のSQL Server 2005の

3

どのDBMSを使用していますか?おそらく大量のデータを格納するためにはるかに優れているTEXT列または同等のものを使用することをお勧めします。

+0

私たちは情報はほとんどありませんが、 "質問"の意味は何でも、私はテキスト入力が対象ではないと思います。 – Smandoli

+0

これらの質問がかなり長くなることがあります(いくつかのStackOverflowの質問には何千もの文字が含まれていますが)。 Ha。 –

2

質問はかなり長いことがありますか?おそらくvarchar(max)が最適です。 (これはもちろんSQL Serverを使用していることを前提としています)

0

質問または回答?

また、適切性はアプリケーションドメインに完全に依存します。これによって、あなたが簡単な調査をしているなら、おそらく500文字未満の質問になるでしょう。

これをいくつかの仕様から外すと仮定すると、フォームはどのように見えますか?

+0

私はSOに触発されたディスカッションサイトを構築しています。 –

0

本当に制限がない場合は、無制限のテキストを許可するCLOB(またはローカルデータベースの同等のもの)を使用できます。

+1

実際にどのくらい安全かと思っていますか、それともDBに入る前にサイズを制限する方が良いでしょうか? – CookieOfFortune

1

質問入力用にアプリを設計している場合は、独自の制限を設定することもできます。たとえば、Twitterの制限は140文字以下と考えてください。あなたはここで同じことをすることができます。

1

他の答えとして、これはデータベースの質問ではなくアプリケーションの質問ですか?あなたの質問を保存するためにフィールドがどれくらい必要ですか?

しかし、確かに悪い考えの1つは、自然なテキストを含む質問のようなものにはVARCHARを使用することです。これは基本的なUS-ASCII文字セットのみをサポートしています。代わりにNVARCHARを使用して、国際文字の全範囲をサポートすることをお勧めします。

短いフィールド(多くても数百文字など)が必要な場合は、指定された最大長のフィールドを使用することが妥当でしょう。 NVARCHAR(256)ですが、テキストが多い場合(このサイトに表示されるように)、おそらくNVARCHAR(MAX)が適切でしょう。 SQL Serverのそれ以降のバージョンでは、NTEXT型は本質的に非推奨であることに注意してください。

+0

NVARCHARを指摘していただきありがとうございます! –

+1

IIRCでは、SQL Server 2005のnvarchar(max)の最大長は4000文字です。 – kevinw

+0

@kevinw - Um、いいえ、NVARCHAR(MAX)の最大長は約1,000,000,000文字です。最大フィールドサイズは2GBで、文字あたり2バイトを使用します。 –

0

あなたの他の質問のいくつかは、あなたは、PostgreSQLを使用していることを示しています。もしあなたがそうであれば、PostgreSQL documentation on data typesには、利用可能なさまざまなタイプとそれぞれを使用するのが適切な場合についての良い議論があります。特に、 "nvarchar"はPostgreSQLデータ型の名前ではありません。

関連する問題