From b657938709862e3339651a6b926b52123264f6db Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Fri, 1 Dec 2017 19:32:35 +0000 Subject: [PATCH] MCOL-1068 Improve compression_ratio() procedure * Uncompressed columns caused a miscalculation for compression ratio * We now show a ratio such as 2:1 rather than a percentage * compressed_data_size instead of file_size is used to show the compression of actual data, ignoring the pre-allocated segment --- dbcon/mysql/columnstore_info.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbcon/mysql/columnstore_info.sql b/dbcon/mysql/columnstore_info.sql index 23a6a0ed6..691ea754d 100644 --- a/dbcon/mysql/columnstore_info.sql +++ b/dbcon/mysql/columnstore_info.sql @@ -82,7 +82,7 @@ DROP PROCEDURE IF EXISTS `compression_ratio` // CREATE PROCEDURE compression_ratio() BEGIN -SELECT CONCAT((SELECT SUM(file_size) FROM information_schema.columnstore_files WHERE compressed_data_size IS NOT NULL) / (SELECT SUM(data_size) FROM information_schema.columnstore_extents) * 100, '%') COMPRESSION_RATIO; +SELECT CONCAT((SELECT SUM(data_size) FROM information_schema.columnstore_extents ce left join information_schema.columnstore_columns cc on ce.object_id = cc.object_id where compression_type='Snappy') / (SELECT SUM(compressed_data_size) FROM information_schema.columnstore_files WHERE compressed_data_size IS NOT NULL), ':1') COMPRESSION_RATIO; END // DELIMITER ;