Skip to main content

Comment calculer la proportion de valeurs vides/égales à zéro dans chaque colonne d’une table

Si une colonne est sparse (vide ou contient principalement des zéros), ClickHouse peut l’encoder dans un format sparse et optimiser automatiquement les calculs : les données n’ont pas besoin d’être entièrement décompressées pendant les requêtes. En effet, si vous savez à quel point une colonne est sparse, vous pouvez définir sa proportion à l’aide du paramètre ratio_of_defaults_for_sparse_serialization afin d’optimiser la sérialisation. Cette requête pratique peut prendre un certain temps, mais elle analyse chaque ligne de votre table et détermine la proportion de valeurs égales à zéro (ou à la valeur par défaut) dans chaque colonne de la table spécifiée :
Par exemple, nous avons exécuté la requête ci-dessus sur la table environmental sensors dataset, nommée sensors, qui contient plus de 20 milliards de lignes et 19 colonnes :
Voici la réponse :
D’après les résultats ci-dessus :
  • la colonne sensor_id n’est pas du tout clairsemée. En fait, chaque ligne a une valeur différente de zéro
  • la colonne sensor_type n’est clairsemée qu’à environ 15,9 %
  • la colonne P0 est très clairsemée : 99,9 % des valeurs sont égales à zéro
  • la colonne pressure est assez clairsemée, à 83 %
  • et la colonne temperature a 53,2 % de ses valeurs manquantes ou égales à zéro
Comme nous l’avons dit, c’est une requête pratique pour calculer le degré de parcimonie de vos colonnes dans une table ClickHouse !
Dernière modification le 3 juillet 2026