varchar型のフィールドの宣言されたサイズは、PostgreSQLでの影響はありますか?
-
21-08-2019 - |
質問
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)
は制約が組み込まれていますtext
とvarchar(n)
の間に違いがあります。
http://archives.postgresql.org/pgsql-general/ 2009-04 / msg00945.phpする