sql >> Databáze >  >> RDS >> PostgreSQL

typ výkonu varchar(1) nebo smallint pro uložení stavu Postgres

Podle mého názoru vedete špatnou bitvu. Máte obavy z dopadu na výkon uložením celého čísla místo jednoho pole znaků, což je podle mého názoru krátkozraké myšlení. Skutečný dopad na výkon celého čísla vs. jednoho znaku je triviální a pochybuji, že to lze smysluplně měřit. Podle mých zkušeností je důležitější snížit kognitivní zatížení vývojářů a uživatelů systému, a proto je lepší používat znaková pole, která jsou dostatečně dlouhá, aby obsahovala přiměřený popis stavu, namísto číselných hodnot nebo jednoznakových zkratek. To, že si nemusíte pamatovat, co znamenají 1, 2, 'A' nebo 'X', je velmi užitečné. Namísto těchto zkrácených hodnot doporučuji používat snadno srozumitelné hodnoty, jako jsou 'READY', 'ACTIVE', 'PROCESSED', 'CANCELLED' atd.

Pokud jde o druhou část otázky - vlastně ne. Přesunutí delšího řetězce může trvat trochu triviálně, ale je to triviální, pokud nemluvíte o milionech hodnot.

Hodně štěstí.



  1. Jak vytvořit databázi MySQL v cPanel

  2. Automatický dotaz JDBC se ukázal být velmi pomalý

  3. Import dat z MySQL pomocí Sqoop - Chyba:Žádný správce pro spojovací řetězec

  4. mysql vložte do tabulky, pokud existuje