EXPLAIN komutunun saat biçimini anlama - Postgres


14

Belirli bir sorguda EXPLAIN ANALYZE komutunu çalıştırdığımda, çıktı zaman değerini yorumlamakta zorlanıyorum. Örneğin (gerçek zaman = 8163.890..8163.893). İç ondalık sayılar yinelenen karakterleri temsil ediyor mu ?? Maalesef, bu asil bir soru olabilir, ancak sonuçları doğru şekilde yorumladığımdan emin olmak istiyorum.

   ->  GroupAggregate  (cost=2928781.21..2929243.02 rows=1 width=27712) (actual time=8163.890..8163.893 rows=1 loops=1)

Yanıtlar:


19

actual time=8163.890..8163.893 anlamına geliyor

Bu adımı başlatmak ("başlangıç") 8163.890ms aldı
Tüm adımı çalıştırmak 8163.893ms aldı

Bu durumda, bu adımın başlangıç ​​aşamasında neredeyse tüm çalışmalar yapıldı.

Düzenleme :
Aynı mantık maliyet bilgisine "uygulanır"

cost=2928781.21..2929243.02 anlamına geliyor:

Bu adımı başlatma maliyeti şu şekilde tahmin edildi: 2928781.21 Adımı
gerçekleştirme maliyeti şu şekilde tahmin edildi: 2929243.02

("maliyet" in bir birimi olmadığını unutmayın - rastgele bir değerdir)

Bu da burada açıklanmaktadır: http://www.postgresql.org/docs/current/static/using-explain.html


Bilgi ve bağlantı için teşekkürler - Ben de biraz eski olsa da, bu belgeyi yararlı buldum
Jmoney38

Bağlantı için teşekkürler. Belge gerçekten modası geçmiş değil. PostgreSQL'in daha yeni sürümleri planda daha fazla bilgi gösterir, ancak temel ilkeler hala geçerlidir.
a_horse_with_no_name

İç içe bir döngüde bununla bir açıklama çözümlemesini nasıl yorumluyorsunuz (actual time=0.002..0.002 rows=0 loops=119878)? Döngü başına ortalama sıfır yararsız olan yuvarlatılmış varsayalım, ama bu kez gerçekten yürütme maliyeti tamamen başlangıç ​​maliyeti oluşur önemsiz anlamına mı geliyor?
Davos

5

İlk sayı, bu adımdaki ilk satırı döndürmenin ne kadar sürdüğüdür. İkinci sayı, son satırı döndürmenin ne kadar sürdüğü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.