sql >> Database teknologi >  >> RDS >> PostgreSQL

(var)char som kolonnens type for ydeevne?

Jeg tror ikke, at det er en god idé at bruge char eller varchar i stedet for heltal. Det er svært at forvente, hvor meget langsommere det vil være end heltals-PK, men dette design vil være langsommere - virkningen vil være mere forfærdelig, når du vil deltage i større tabeller. Hvis du kan, så brug ENUM-typer i stedet.

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)

PostgreSQL varchar og char typer er meget ens. Intern implementering er den samme - char kan være (det er paradoksalt) en smule langsommere på grund af tilføjelse af mellemrum.



  1. Installer webserver i Windows XP med Apache2, PHP5 og MySQL4 – del 1

  2. MySQL - Dublet tabel

  3. Valg af data i et Postgres-array

  4. Sådan konverteres MySQL-tid