Partition Table là một kỹ thuật thiết kế thường xuyên được áp dụng trong những dự án mà tôi tham gia tối ưu.
1. Parition Table là gì?
Để hình dung về Partition Table, anh em có thể nghĩ về hình ảnh tủ sách có nhiều ngăn.
Mỗi ngăn của tủ sách được phân loại theo một tiêu chí có sẵn, ví dụ: Phân loại theo tiêu chí NĂM XUẤT BẢN.
Tủ sách của chúng ta như sau
Nếu chúng ta tìm kiếm các quyển sách có năm xuất bản từ tháng 6 năm 2017 đến tháng 10 năm 2017, chúng ta không cần tìm kiếm toàn bộ giá sách, mà có thể đi ngay vào ngăn được đánh số 2017 (tô màu xanh trong hình) để tìm kiếm.
Việc tìm kiếm trong một không gian nhỏ hơn, giúp công việc diễn ra nhanh chóng hơn.
Hành động tìm kiếm trên tương đương với một câu lệnh SQL
SELECT * FROM TABLE_TU_SACH_WECOMMIT WHERE NAM_XUATBAN BETWEEN '01/06/2017 AND '01/10/2017'
2. Khi nào nên sử dụng kỹ thuật Partition Table
Dưới đây là một số điều kiện để chúng ta cân nhắc thực hiện Partition Table
- Dung lượng của bảng lớn hơn 2GB
- Các bảng lưu trữ dạng lịch sử (ví dụ: lịch sử giao dịch, lưu log…) thường phù hợp để thực hiện kỹ thuật trên.
- Đã có một chiến lược rõ ràng về quản trị vòng đời dữ liệu
3. Sử dụng Partition Table có phải lúc nào cũng tốt không?
Không phải bất kỳ hệ thống nào chúng ta áp dụng kỹ thuật Partition cũng mang lại kết quả tốt về hiệu năng.
Anh em cần hiểu về bản chất và cách thức một câu lệnh SQL làm việc với bảng được partition, từ đó mới ra quyết định có nên lựa chọn phương án này hay không.
Tôi đã từng chia sẻ 1 Case Study thiết kế sai Partition Table dẫn tới chậm/ treo hệ thống của ngân hàng. Anh em có thể đọc chi tiết bài viết đó tại đây.
3. Nếu bạn muốn biết câu trả lời cho câu hỏi “Tối ưu SQL bắt đầu từ đâu”?
Bạn có thể xem Video tôi chia sẻ về vấn đề này.
Trong phần chia sẻ này bạn sẽ biết được:
- Các thách thức phải đối mặt khi bạn muốn làm chủ kỹ năng tối ưu SQL
- Những sai lầm phổ biến
- Và các bí mật
Bạn có thể xem chi tiết tại đây: Click vào đây.
4. Nếu bạn muốn đọc các kiến thức về tối ưu được tổng hợp bài bản, có lộ trình từng bước
Bạn có thể đọc các nội dung này ở phần I và phần II (các nội dung dành cho cộng đồng) của chương trình Từ điển tối ưu 100x hiệu năng: https://wecommit.com.vn/toiuu100x
5. Thông tin tác giả
Chào các bạn, tôi là Trần Quốc Huy – Founder Wecommit và đồng thời là tác giả của chương trình Từ điển tối ưu 100x hiệu năng.
Tôi chỉ tập trung vào 1 lĩnh vực duy nhất hơn 10 năm nay: Tối ưu cơ sở dữ liệu.
Các bạn có thể liên hệ với tôi qua các kênh sau
Facebook cá nhân của tôi: https://www.facebook.com/tran.q.huy.71/
Youtube: https://www.youtube.com/channel/UCtsYzL7iN7rBCPnkjYp4XYw