De lintérêt des sondages
Nous avons découvert que le stockage orienté colonne était intéressant dans certains traitements analytiques. Les résultats obtenus étaient exacts. Cependant, parfois, des résultats approximatifs sont suffisants pour dessiner une tendance et nous pouvons sacrifier lexactitude au profit de la vitesse. Dans ce cas, il est possible de ne sintéresser quà un échantillon des données. Nutilisez pas LIMIT ou FETCH FIRST n ROWS (ou ROWNUM avec Oracle) pour cela, utilisez TABLESAMPLE disponible avec PostgreSQL depuis la 9.5. Les sondages sont souvent décriés dans dautres domaines mais leur efficacité peut être redoutable quand ils sont bien réalisés et utilisés à bon escient.
Démonstration reprenant cet environnement :
Que constatons-nous ? Nous obtenons les résultats plus rapidement mais travailler sur un échantillon nest pas forcément adapté. Ici lintruse est "SELECT idu, devise FROM geants TABLESAMPLE SYSTEM(10) WHERE not actif AND not heureux AND veteran AND berserk AND cyclope". En effet la requête ne retourne aucune ligne. Si le but était didentifier précisément les géants concernés nous les ratons car la requête originale ramenait 2 lignes. Tout au plus pouvons-nous conclure que les géants concernés ne sont pas nombreux sils existent.
En revanche, les autres approximations sont potentiellement intéressantes. Ici la méthode SYSTEM travaillant au niveau page est utilisée en considérant 10% des données mais la méthode BERNOULLI travaillant au niveau ligne existe également. Ne pas oublier tout de même lorsquune somme ou un count(*) est demandé que nous travaillons sur environ N% des données.
Mise à jour : 26/03/2017