professional-programming/antipatterns/database-antipatterns.md

1.1 KiB

Table of Contents

Database anti-patterns

Using VARCHAR instead of TEXT (PostgreSQL)

Unless you absolutely restrict the width of a text column for data consistency reason, don't do it.

This benchmark shows that there's fundamentally no difference in performance between char(n), varchar(n), varchar and text. Here's why you should pick text:

  • char(n): takes more space than necessary when dealing with values shorter than n.
  • varchar(n): it's difficult to change the width.
  • varchar is just like text.
  • text does not have the width problem that char(n) and varchar(n) and has a cleaner name than varchar.