materialize_statistics_on_insert
materialize_statistics_on_insert_max_table_size sont concernées.
materialize_statistics_on_insert_max_table_size
materialize_statistics_on_insert) uniquement pour les tables dont la taille totale actuelle des parties actives sur disque (compressée, en octets), augmentée de la taille en mémoire non compressée du bloc en cours d’écriture, ne dépasse pas cette valeur. Cette règle s’applique à chaque bloc écrit, et non à chaque INSERT : un même INSERT est divisé en un bloc par partition (et, pour les inserts en streaming, en plusieurs blocs), et chacun est vérifié par rapport à la taille des parties déjà actives, car les parties de l’INSERT en cours ne sont pas encore actives. Un chargement en masse unique dans une table vide peut donc générer des statistiques pour toutes ses parties, même si leur taille totale dépasse le seuil ; la limite s’applique aux inserts suivants. L’utilisation de la taille non compressée du bloc (sa taille compressée est inconnue avant l’écriture de la partie) rend la vérification volontairement prudente, d’au plus un bloc. Cela permet de maintenir à jour les statistiques des petites tables de dimensions, ce qui est important pour le réordonnancement des jointures basé sur les coûts, tout en évitant la surcharge liée à chaque insert dans les grandes tables de faits (leurs statistiques sont plutôt générées lors des fusions). 0 signifie qu’il n’y a pas de limite de taille.