Câu hỏi phỏng vấn PostgreSQL
Câu hỏi

Khi database PostgreSQL có hàng tỷ bản ...

Câu trả lời

Để tối ưu hóa PostgreSQL cho hàng tỷ bản ghi, quan trọng nhất là cách tổ chức schema và index sao cho hiệu quả.

Sử dụng phân vùng (Partitioning):

Phân vùng bảng trên các cột như ngày hoặc ID để cải thiện hiệu suất truy vấn. PostgreSQL hỗ trợ range và list partitioning, giúp giảm dữ liệu cần quét khi truy vấn.

Tối ưu hóa index:

Sử dụng B-Tree index cho truy vấn dạng tìm kiếm thông thường và GiST hoặc GIN index cho các truy vấn tìm kiếm toàn văn hoặc trên kiểu dữ liệu phức tạp như JSONB, PostGIS. Đảm bảo là chỉ tạo index cho các cột thực sự cần thiết vì index chiếm nhiều không gian lưu trữ và có thể ảnh hưởng đến tốc độ ghi dữ liệu.

Hạn chế khoá ngoài (Foreign Key):

Khi không cần thiết, tránh sử dụng khoá ngoài để giảm tải cho hệ thống. Nếu cần, có thể thực hiện kiểm tra referential integrity ở tầng ứng dụng.

Sử dụng các kiểu dữ liệu phù hợp:

Chọn kiểu dữ liệu tối ưu nhất cho ứ...

senior

senior

Gợi ý câu hỏi phỏng vấn

middle

PostgreSQL hỗ trợ enum type như thế nào? Có thể thay đổi enum sau khi tạo không?

middle

Làm sao để tạo composite primary key trong PostgreSQL?

senior

Khi nào nên dùng index expression trong PostgreSQL?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào