PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

(var)char като типа на колоната за изпълнение?

Не мисля, че използването на char или varchar вместо integer е добра идея. Трудно е да се очаква колко по-бавен ще бъде от integer PK, но този дизайн ще бъде по-бавен - въздействието ще бъде по-ужасно, когато се присъедините към по-големи маси. Ако можете, вместо това използвайте типове 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)

PostgreSQL varchar и типовете char са много сходни. Вътрешната реализация е същата - char може да бъде (това е парадокс) малко по-бавно поради добавяне с интервали.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранявайте резултата от заявката в променлива, използвана в PL/pgSQL

  2. PostgreSQL многомерни масиви

  3. Синтаксична грешка в тестовия код UPSERT

  4. Постигане на транзакции с висока производителност при разширяване на PostgreSQL с C-функции

  5. Как да настроя SSH тунел в Google Cloud Dataflow към външен сървър на база данни?