Table partitioning là gì?
- ★
- ★
- ★
- ★
- ★
Nhiều cơ sở dữ liệu (database) cho phép các bản ghi (record) trong một bảng (table) được phân chia thành các bảng nhỏ hơn được lưu trữ riêng biệt. Việc phân vùng bảng (table partitioning) như vậy thường được thực hiện trên cơ sở một giá trị của thuộc tính (attribute), ví dụ: các bản ghi trong bảng transaction trong cơ sở dữ liệu accounting có thể được phân chia theo năm thành các bảng nhỏ hơn tương ứng với từng năm, chẳng hạn như transaction 2018, transaction 2019, v.v. Các truy vấn (query) có thể được viết dựa trên bảng transaction nhưng được chuyển thành truy vấn dựa trên bảng theo năm. Hầu hết các truy cập là các bản ghi của năm hiện tại và bao gồm một lựa chọn dựa trên năm. Trình tối ưu hóa truy vấn (query optimizer) có thể viết lại một truy vấn như vậy để chỉ truy cập vào bảng nhỏ hơn tương ứng với năm được yêu cầu và nó có thể tránh đọc các bản ghi tương ứng với các năm khác. Ví dụ một truy vấn:
select * from transaction where year=2019
Sẽ chỉ truy cập bảng transaction 2019, bỏ qua các bảng khác, trong khi truy vấn không có điều kiện lựa chọn sẽ đọc tất cả các bảng.
Phân vùng (partitioning) cũng có thể được sử dụng để lưu trữ các phần khác nhau của một bảng trên các thiết bị lưu trữ (storage device) khác nhau. Ví dụ: trong năm 2019, các transaction 2018 và sau đó có thể được truy cập không thường xuyên có thể được lưu trữ trên đĩa từ (magnetic disk), trong khi transaction 2019 có thể được lưu trữ trên SSD để truy cập nhanh hơn.
Learning English Everyday