I. Tổng Quan Về Xử Lý Bảng Lớn
Bảng dữ liệu lớn (Large Table) có thể làm suy giảm hiệu năng của hệ thống Oracle do:
- Quét bảng toàn bộ (Full Table Scan - FTS) làm tăng tải CPU và I/O.
- Tốc độ truy vấn chậm do Index không hiệu quả hoặc không đủ.
- Dữ liệu rác (Fragmentation) sau nhiều lần INSERT/DELETE.
- Không có phân vùng (Partitioning) dẫn đến truy vấn kém tối ưu.
➡ Mục tiêu: Tăng hiệu suất truy vấn và tối ưu lưu trữ bằng cách:
- Phân tích kích thước và tình trạng bảng.
- Áp dụng Partitioning để chia nhỏ dữ liệu.
- Tối ưu Index và sử dụng Index Rebuild khi cần.
- Dọn dẹp không gian trống và giảm Fragmentation.
- Tối ưu hóa truy vấn với
EXPLAIN PLAN
.
II. Quy Trình Xử Lý Bảng Lớn
Dưới đây là quy trình tối ưu hóa bảng lớn kèm các câu lệnh cụ thể:
1. Kiểm Tra Kích Thước Bảng & Tình Trạng Hiện Tại
Trước khi tối ưu, cần phân tích dung lượng bảng và hiệu suất truy vấn.
segment_name
: Tên bảng cần kiểm tra.bytes/1024/1024
: Hiển thị kích thước bảng tính bằng MB.
📌 Kiểm tra chỉ mục (Indexes) có hiệu quả không?
- Nếu
leaf_blocks
quá lớn → Chỉ mục cần tối ưu hoặc chia nhỏ. - Nếu
num_rows
cao nhưngdistinct_keys
thấp → Index có thể không hiệu quả.
📌 Kiểm tra kế hoạch thực thi SQL (Execution Plan)
➡ Nếu thấy TABLE ACCESS FULL
, ta cần INDEX hoặc PARTITIONING.
2. Áp Dụng Partitioning Để Chia Nhỏ Bảng
Nếu bảng chứa nhiều dữ liệu lịch sử (theo ngày/tháng/năm), bạn nên sử dụng Range Partitioning.
📌 Tạo bảng với Partitioning theo ngày
💡 Lợi ích:
- Chia nhỏ dữ liệu giúp tăng tốc truy vấn.
- Truy vấn chỉ đọc partition cần thiết thay vì toàn bộ bảng.
📌 Thêm Partition động khi dữ liệu mới phát sinh
3. Tối Ưu Hóa Chỉ Mục (Indexing)
Nếu bảng lớn, Index có thể bị phân mảnh hoặc không tối ưu.
📌 Xây dựng Index hiệu quả
📌 Kiểm tra Index có hoạt động tốt không?
📌 Rebuild Index nếu cần tối ưu hóa
💡 Lợi ích:
- Giảm Fragmentation.
- Cải thiện tốc độ truy vấn.
- Tối ưu tài nguyên CPU và I/O.
4. Giải Phóng Không Gian Dư Thừa (Shrink Space)
Sau khi xóa dữ liệu hoặc cập nhật bảng, có thể xuất hiện vùng trống.
📌 Giải phóng không gian trống
💡 Lợi ích:
- Giảm kích thước vật lý của bảng.
- Tăng hiệu suất khi đọc dữ liệu.
📌 Kiểm tra lại kích thước bảng sau khi tối ưu
5. Tối Ưu Truy Vấn SQL Với EXPLAIN PLAN
Sau khi tối ưu bảng, cần kiểm tra lại hiệu suất truy vấn.
📌 Chạy EXPLAIN PLAN để kiểm tra kế hoạch thực thi
➡ Nếu Oracle sử dụng Index Scan (INDEX RANGE SCAN
), nghĩa là Index hoạt động tốt.
➡ Nếu vẫn thấy TABLE ACCESS FULL
, cần kiểm tra lại Index và Partitioning.
6. Dùng Table Compression Để Giảm Kích Thước
Nếu dữ liệu chủ yếu là READ-ONLY, ta có thể sử dụng Compression.
📌 Nén dữ liệu trong bảng
📌 Kiểm tra bảng đã được nén chưa
💡 Lợi ích:
- Giảm dung lượng lưu trữ tới 50-70%.
- Tăng hiệu suất truy vấn với dữ liệu tĩnh.
III. Tổng Kết Quy Trình Xử Lý Bảng Lớn
🔹 1. Phân tích kích thước bảng & kiểm tra hiệu suất (DBA_SEGMENTS
, EXPLAIN PLAN
).
🔹 2. Dùng Partitioning để chia nhỏ dữ liệu, tránh quét toàn bộ bảng.
🔹 3. Tạo hoặc tối ưu Index, kiểm tra bằng EXPLAIN PLAN
.
🔹 4. Rebuild hoặc Shrink bảng để giải phóng không gian dư thừa.
🔹 5. Dùng Compression nếu dữ liệu ít thay đổi để tiết kiệm dung lượng.
🔹 6. Kiểm tra hiệu suất truy vấn sau tối ưu hóa bằng DBMS_XPLAN.DISPLAY
.
🚀 Áp dụng các kỹ thuật này sẽ giúp hệ thống Oracle Database xử lý bảng lớn nhanh hơn, giảm tải CPU/I/O, tăng tốc truy vấn và tối ưu hóa dung lượng lưu trữ! 🚀
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty