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

Tìm nạp các hàng từ nhiều bảng với UNION ALL hay sử dụng một bảng trong sản xuất?

Nói chung, tôi thấy rằng việc sử dụng rộng rãi UNION gợi ý thiết kế cơ sở dữ liệu xấu. Có những trường hợp UNIONUNION ALL có ý nghĩa nhưng chúng phải tương đối hiếm bên ngoài các biểu thức bảng phổ biến đệ quy.

PostgreSQL cung cấp một số lượng lớn các tùy chọn để giữ hiệu suất trên một bảng có thể quản lý được và như bạn đã chỉ ra các chỉ mục từng phần là một cách rất tốt để quản lý vấn đề này.

Vấn đề chính khi chia nhỏ các bảng như UNION như vậy các câu lệnh phổ biến là nó làm cho việc quản lý khóa chính và khóa ngoài trở nên khá rắc rối. Nói chung, hầu như luôn tốt hơn rất nhiều khi đảm bảo cấu trúc dữ liệu của bạn rõ ràng và dễ quản lý, sau đó lo lắng về việc tối ưu hóa hơn là lo lắng về việc tối ưu hóa và sau đó cố gắng quản lý giải pháp tối ưu hóa.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Một số trường hợp khi có đầu ra trên cùng một hàng

  2. Nối nhiều hàng kết quả của một cột thành một, nhóm theo cột khác

  3. Tự động gửi thông số cấu hình không được công nhận trong PostgreSQL NodeJS

  4. Chuỗi khóa chính của PostgreSQL bị mất sau khi di chuyển bằng AWS DMS

  5. Chèn dữ liệu vào 3 bảng cùng một lúc bằng Postgres