PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

(var) char làm kiểu cột cho hiệu suất?

Tôi không nghĩ vì vậy sử dụng char hoặc varchar thay vì số nguyên là một ý kiến ​​hay. Thật khó để mong đợi nó sẽ chậm hơn bao nhiêu so với PK số nguyên, nhưng thiết kế này sẽ chậm hơn - tác động sẽ khủng khiếp hơn khi bạn tham gia các bảng lớn hơn. Nếu bạn có thể, hãy sử dụng các loại ENUM thay thế.

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)

Các kiểu varchar và char của PostgreSQL rất giống nhau. Việc triển khai bên trong cũng giống như vậy - char có thể chậm hơn một chút do có thêm khoảng trắng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thêm ràng buộc datetime vào chỉ mục một phần nhiều cột PostgreSQL

  2. Cách tốt nhất để cài đặt hstore trên nhiều lược đồ trong cơ sở dữ liệu Postgres?

  3. Vấn đề với Sqlalchemy và chèn mảng jsonb vào postgresql

  4. Thể hiện thời gian trong tương lai trong PostgreSQL

  5. Đặc quyền và bảo mật của PostgreSQL - Khóa giản đồ công khai