Please or Register to create posts and topics.

Compression Advisor

Salut,

cela pourrais être sympa que Kankuru puisse conseiller la compression de tables et d'index en s'appuyant le ratio de lecture/ecriture et si l'édition le permet.

On pourrait même envisager de définir les seuils ratio à partir duquel on pourrait envisager la compression Row/Page/None et le nombre Minimum de pages (par défaut 100).

Proposition d'une liste avec la commande a exécuter via un clique droit.

Requête un peu modifiée issue du doc MS (https://technet.microsoft.com/en-us/library/dd894051(v=sql.100).aspx)

Rem: il y a un petit bug corrigé sur la DMV sys.dm_db_index_operational_stats (https://littlekendra.com/2016/05/18/index-usage-stats-bug-fixed-in-sql-server-2012-sp2-cu12-sp3-cu3/)

SELECT 

o.name AS [Table_Name],

x.name AS [Index_Name],

i.partition_number AS [Partition],

i.index_id AS [Index_ID],

x.type_desc AS [Index_Type],

p.rows  AS [Rows],

p.data_compression_desc AS [Compression],

i.leaf_update_count * 100.0 /(i.range_scan_count + i.leaf_insert_count + i.leaf_delete_count + i.leaf_update_count + i.leaf_page_merge_count + i.singleton_lookup_count) AS [Percent_Update]

FROM sys.dm_db_index_operational_stats (db_id(), NULL, NULL, NULL) i

JOIN sys.objects o ON o.object_id = i.object_id

JOIN sys.indexes x ON x.object_id = i.object_id AND x.index_id = i.index_id

JOIN sys.partitions p ON i.object_id = p.object_id and i.index_id =p.index_id

WHERE 

1 =1

AND (i.range_scan_count + i.leaf_insert_count + i.leaf_delete_count + leaf_update_count + i.leaf_page_merge_count + i.singleton_lookup_count) != 0

AND objectproperty(i.object_id,'IsUserTable') = 1

 

ORDER BY [Rows] DESC, [Percent_Update] ASC

A voir

Fred

Salut Fred,

Je ne suis pas un expert de la compression donc je vais devoir creuser un peu le sujet mais oui si on peut faire des recommendations, c'est toujours intéressant.

J'avais utilisé il y a pas mal de temps la procédure sp_estimate_data_compression_savings pour savoir ce qu'il serait possible d'obtenir comme gain.

Cette demande ne fera pas partie de la prochaine version 1.4.3 (qui est en cours de test avant déploiement) mais je vais regarder tout ça pour la suivante 🙂

Merci pour ton message