Giới thiệu
Khi export dữ liệu, bạn có chắc các option bạn sử dụng đã là tối ưu? Trong bài viết này, tôi sẽ thực hành với các câu lệnh pg_dump và so sánh thời gian thực hiện giữa các option của nó nhé.
Nếu bạn chưa làm việc với pg_dump bao giờ, hãy xem bài viết trước đó của tôi nhé
Môi trường
Phiên bản PostgreSQL mà tôi sử dụng trong bài thực hành này là 13,
Tên table: sale_orders và products
Tổng dung lượng: 51G
Option 1: File export là các câu lệnh INSERT
Câu lệnh này sẽ export dữ liệu vào file dump_table_insert.sql
pg_dump -d prod --data-only --column-inserts -t sale_orders -t products > dump_table_insert.sql
Với option này, dữ liệu trong bảng sale_orders và products của tôi sẽ biến thành hàng loạt các câu lệnh INSERT
Option 2: File export là câu lệnh COPY
pg_dump -d prod --data-only -t sale_order -t products > dump_table_copy.sql
Nội dung của file dump_table_copy.sql sẽ là câu lệnh COPY và các dòng dữ liệu của bảng như hình bên dưới:
Đã thấy tốc độ và cả dung lượng đã cải thiện rồi đúng không 😀
Option 3: Export dữ liệu ra nhiều file cùng lúc (export parallel) không nén
Câu lệnh như sau:
pg_dump -d prod--format=d --jobs=2 --file=/var/lib/postgresql/dump2 --compress=0 --data-only -t od_sale_order -t products
Ở đây tôi có 2 bảng nên tôi lựa chọn số luồng export là 2, quy định bởi tham số –jobs=2, –format=d và –file=/var/lib/postgresql/dump2
Kết quả như sau:
Option 4: Export dữ liệu ra nhiều file cùng lúc (export parallel) kết hợp với nén
Câu lệnh như sau:
pg_dump -d prod--format=d --jobs=4 --file=/var/lib/postgresql/dump --data-only -t od_sale_order
Kết quả như sau:
Đây là số liệu thực tế mà tôi đã thực hiện, từ những kết quả này, bạn đã có thể tự kết luận được option nào phù hợp với mình rồi phải không nào?
Đợi 1 chút, nếu bạn còn thắc mắc nào khác, hãy comment ở phía dưới bài viết này, hoặc tham gia vào group “Kho tài liệu kiến thức về Database” của tôi trên Facebook nhé.
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN Xem ngay!
Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.