varchar型のフィールドの宣言されたサイズは、PostgreSQLでの影響はありますか?

StackOverflow https://stackoverflow.com/questions/1067061

質問

VARCHAR(100)は、パフォーマンスの観点から、(500)VARCHARよりも良くなりますか?ディスクの使用量については何?

一部のデータベース、今日のPostgreSQLについての歴史の中でいくつかの時間をしませ話しています。

役に立ちましたか?

解決

彼らは同じです。

PostgreSQLのドキュメントから:

http://www.postgresql.org/docs/8.3/静的/データ型-character.htmlする

  

ヒント:何のパフォーマンスはありません   これら三つのタイプの違い、   保存領域の増加を別にしてとき   空白でパッドタイプを使用して、数   余分なサイクル時に長さをチェックします   長さ制約に格納します   行。文字(n)はありますが   他のいくつかの中のパフォーマンス上の利点   データベースシステム、それはそのようなを持っていません   PostgreSQLの利点。ほとんどで   状況のテキストや文字変化   代わりに使用する必要があります。

ここで彼らは、CHAR(n)は、VARCHAR(n)およびテキスト(= VARCHAR(1G))の違いについて話しています。公式の物語はVARCHAR(100)とテキスト(非常に大きなvarchar型)との間に差がないということです。

他のヒント

TEXT /明示的な長さなし/ VARCHARと同じであり、テキスト

  略して

「ストレージ要件   文字列(最大126バイト)が1バイトであります   含まプラス実際の文字列、   の場合のスペースパディング   キャラクター。より長い文字列は4つのバイトを持っています   代わりに1長い文字列のオーバーヘッド   システムによって圧縮されています   自動的に、その物理   ディスク上の要件は少なくなるかもしれません。   非常に長い値もに保存されています   バックグラウンドテーブルそうではないように、   短いへの迅速なアクセスを妨げます   列の値。いずれの場合においても、   その最長の可能な文字列   約1 GBです保存することができます。 "

VARCHARとTEXT(VARCHAR(n)は、テキストのちょうど限定版であるため)の両方を指します。あなたのVARCHAR人為的には実際のストレージやパフォーマンスの利点を持っていない制限する可能性がワイルドカードや正規表現に対する比較(ただしレベルでそれはに開始される点を除き、(オーバーヘッドが文字列ではなく、基礎となるvarchar型の長さの実際の長さに基づいています)問題は、あなたはおそらく、PostgreSQLのフルテキストインデックスのサポートのようなもの)を見てする必要があります。

varchar(m)の間に違いはありませんし、varchar(n) ..

http://archives.postgresql.org/pgsql-admin/ 2008-07 / msg00073.phpする

にチェックし、実際に少し遅いですしなければならないけれども、varchar(n)は制約が組み込まれていますtextvarchar(n)の間に違いがあります。

http://archives.postgresql.org/pgsql-general/ 2009-04 / msg00945.phpする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top