Test de performance sur la table de partition dans PostgreSQL - Troisième partie

Je vais faire un test de performance entre table de partition et table de partition.

Voici deux tables contenant à la fois 200 millions de données.

PS Veuillez visiter le lien://base de données/partition-table-dans-postgresql-create-partition-part-1/[Table de partition dans PostgreSQL (Créer une partition) - Partie 1]Si vous ne savez pas comment créer une partition de table dans PostgreSQL et visitez le lien://base de données/partition-table-dans-postgresql-simuler-millions-data-partie-2/[Table de partition dans PostgreSQL (Simulate Millions Data) - Partie 2]pour simuler des millions de données afin de la tester.

Test de performance à la date spécifiée

--partition table

SELECT **  FROM hashvalue__PT WHERE hashtime = DATE '2008-08-01'

--non partition table
SELECT **  FROM hashvalue WHERE hashtime = DATE '2008-08-01'

Voici le résultat du test de performance de 1 million à 200 millions de données.

Cliquez sur l’image pour agrandir le résultat.

  • Lorsque les deux contiennent 200 millions de données, recherchez la date spécifiée, la table de partition est plus rapide que la table sans partition d’environ 144,45% **

Recherche à la date spécifiée «2008-08-01» Enregistrements récupérés = 741825 Table de partition = 359,61 secondes Table non partitionnée = 879,062 secondes

Test de performance à la date limite le même mois

--partition table

SELECT **  FROM hashvalue__PT WHERE hashtime> = DATE '2008-05-01' AND hashtime <= '2008-05-15';

--non partition table
SELECT **  FROM hashvalue WHERE hashtime >= DATE '2008-05-01' AND hashtime <= '2008-05-15';

Voici le résultat du test de performance de 1 million à 200 millions de données.

Cliquez sur l’image pour agrandir le résultat.

  • Lorsque les deux contiennent 200 millions de données, recherchez une date d’intervalle le même mois, la table de partition est plus rapide que la table sans partition d’environ 209,84% **

Recherche sur la date du meme mois du 2008-05-01 au 2008-05-15; + Enregistrements récupérés = 11112338 + Table de partition = 603.328 secondes + Table sans partition = 1869.375 secondes

Test de performance à la date de fin de mois

--partition table

SELECT **  FROM hashvalue__PT WHERE hashtime> = DATE '2008-06-20' AND hashtime <= '2008-07-10';

--non partition table
SELECT **  FROM hashvalue WHERE hashtime >= DATE '2008-06-20' AND hashtime <= '2008-07-10';

Voici le résultat du test de performance de 1 million à 200 millions de données.

Cliquez sur l’image pour agrandir le résultat.

  • Lorsque les deux contiennent 200 millions de données, recherchez la date de l’intervalle et le mois, la table de partition est plus rapide que la table sans partition d’environ 39,97% **

Effectuez une recherche sur la date de l’intervalle et sur le mois, du «2008-06-20» au «2008-07-10»; + Enregistrements récupérés = 12220658 + table de partition = 1310,766 secondes + table sans partition = 1834,743 secondes

Conclusion

Après quelques tests de performance entre partition et table non-partition, le résultat est évidemment, la table de partition est totalement gagnante dans ce test de performance.

lien://tag/performance/[performance]lien://tag/postgresql/[postgresql]