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

Khi bảng có hàng tỷ dòng, bạn tổ chức partitioning như thế nào? Range hay List?

Câu trả lời

Đặc điểm

Partitioning là kỹ thuật quan trọng trong quản lý cơ sở dữ liệu lớn, đặc biệt khi bảng có hàng tỷ dòng. Có hai phương pháp phổ biến: Range và List.

  • Range Partitioning: Phân chia dữ liệu dựa trên khoảng giá trị nhất định của một hoặc nhiều cột. Thích hợp cho dữ liệu có tính tuần tự hoặc liên tục, như ngày tháng hoặc ID tăng dần. Dễ dàng quản lý và cho phép tối ưu hóa truy vấn tốt hơn nếu thường xuyên sử dụng các điều kiện BETWEEN hoặc so sánh.

  • List Partitioning: Phân chia dữ liệu dựa trên giá trị riêng lẻ của cột, ví dụ như danh mục sản phẩm hoặc trạng thái đơn hàng. Thích hợp cho các tập dữ liệu rời rạc hoặc không liên quan lẫn nhau, đảm bảo việc lọc được thực hiện nhanh chóng với giá trị cụ thể.

So sánh

  • Phạm vi ứng dụng: Range p...
middle

middle

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

middle

Trong hệ thống database lớn, bạn xử lý index bloat như thế nào?

middle

Bạn hiểu gì về query plan cache? Làm sao để tận dụng nó?

senior

Bạn có từng triển khai row-level security chưa? Trường hợp áp dụng?

Bình luận

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

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