データ型について


🚕 データ型の選択の基準

  1. 一定数の候補からの選択では、整数型(smallint, integer, bigint)、列挙型(enum)、charの順で選ぶ
  2. 文字列に数値しか存在しない倍は、整数型を使う
  3. 200文字以内であればvarchar型、それ以外はtext型を選択する

🎂 数値型について

説明
smallint サイズは2バイト
int サイズは4バイト
bigint サイズは8バイト

🏀 文字列型について

PostgreSQLの文字列型charvarchartextの違いを紹介します。

説明
char(n) サイズは(1 or 4) + nバイト。nは文字数。利用メリットはほとんどない。
varchar(n) サイズは(1 or 4) + nバイト。nは文字数。
text サイズは(1 or 4) + nバイト。1GBまでなら格納可能

textvarcharも効率面では意識的に使い分けるメリットはあまりありません。
varcharにするメリットは外部ツールと連携して見積もりができるなどです。

🐹 文字列のCHECK制約

varcharで文字数制限はできますが、本質的なチェックはCHECK制約を入れましょう。

CREATE TABLE tbl (t text CHECK (t ~ '^[0-9]{5}$'));

🗻 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍