Tôi đang cố gắng xác định nên áp dụng cái nào và thời điểm thích hợp để áp dụng nén. Tôi đang đăng câu hỏi này để hiểu rõ hơn về cộng đồng này. Tôi đã đọc một số bài viết, nhưng muốn có một nơi giải quyết vấn đề này trong Quản trị viên DB.
Tôi đang cố gắng xác định nên áp dụng cái nào và thời điểm thích hợp để áp dụng nén. Tôi đang đăng câu hỏi này để hiểu rõ hơn về cộng đồng này. Tôi đã đọc một số bài viết, nhưng muốn có một nơi giải quyết vấn đề này trong Quản trị viên DB.
Câu trả lời:
Đây là một tài liệu tham khảo và giải thích tốt cho nén trang v (không có ý định chơi chữ): http://blogs.lessthandot.com/index.php/datamgmt/dbprogramming/how-sql-server-data-compression/
Tuy nhiên, trong ngắn hạn, nén trang bao gồm các thuật toán có chứa mức nén hàng và sau đó cũng bao gồm nén Tiền tố và nén Từ điển. Nén tiền tố và từ điển tìm thấy các mẫu trong dữ liệu và thay thế chúng bằng các giá trị nhỏ hơn. Trong quá trình giải nén, nó sẽ thực hiện ngược lại và khôi phục dữ liệu về giá trị ban đầu.
Cấp hàng giúp đưa ra các quyết định nén dễ dàng hơn, như giảm siêu dữ liệu và xóa không gian không sử dụng, như chữ 'Y' được lưu trữ trong CHAR (1000).
Bài viết tham khảo giải thích điều này chi tiết hơn nhiều.
Để đưa ra quyết định cho một loạt các bảng, bạn có thể chạy thủ tục " sp_estimate_data_compression_savings ":
exec sys.sp_estimate_data_compression_savings @Schema,@Table,NULL,NULL,ROW;
exec sys.sp_estimate_data_compression_savings @Schema,@Table,NULL,NULL,PAGE;
Điều đó sẽ giúp bạn xác định tiết kiệm cho từng bảng cụ thể.
Theo kinh nghiệm của tôi, nén PAGE hoạt động tốt hơn trong hầu hết các trường hợp.