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

(var)char jako typ sloupce pro výkon?

Nemyslím si, že použití char nebo varchar místo celého čísla je dobrý nápad. Těžko očekávat, o kolik bude pomalejší než celočíselné PK, ale tento návrh bude pomalejší - dopad bude horší, když se připojíte k větším stolům. Pokud můžete, použijte místo toho typy ENUM.

http://www.postgresql.org/docs/9.2/static /datatype-enum.html

CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');

CREATE TABLE person (
    name text,
    current_mood mood
);
INSERT INTO person VALUES ('Moe', 'happy');
SELECT * FROM person WHERE current_mood = 'happy';
 name | current_mood 
------+--------------
 Moe  | happy
(1 row)

Typy varchar a char PostgreSQL jsou velmi podobné. Interní implementace je stejná - znak může být (je paradoxní) trochu pomalejší kvůli přidávání mezerami.



  1. Jak zobrazit obrázek mysql blob v ovládání obrazu asp.net?

  2. SQL dotaz nepoužívá dostupný index (SQL Server 2008)

  3. Kam jde výstup souboru pg_dump v systému MacOS?

  4. SUBSTRING_INDEX s více oddělovači