sql >> Base de Datos >  >> RDS >> PostgreSQL

(var) char como el tipo de la columna para el rendimiento?

No creo que usar char o varchar en lugar de un entero sea una buena idea. Es difícil esperar cuánto más lento será que el PK entero, pero este diseño será más lento:el impacto será más terrible cuando se una a mesas más grandes. Si puede, use tipos ENUM en su lugar.

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)

Los tipos varchar y char de PostgreSQL son muy similares. La implementación interna es la misma:el carácter puede ser (es una paradoja) un poco más lento debido a la adición de espacios.