Memahami format waktu dari perintah EXPLAIN - Postgres

14

Ketika saya menjalankan perintah EXPLAIN ANALYZE pada permintaan yang diberikan, saya mengalami kesulitan menafsirkan nilai waktu yang dikeluarkan. Misalnya (waktu aktual = 8163.890..8163.893). Apakah desimal internal mewakili karakter berulang? Maaf, ini mungkin pertanyaan noobish, tapi saya ingin memastikan saya menafsirkan hasilnya dengan benar.

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

Jawaban:

19

actual time=8163.890..8163.893 cara

Menginisialisasi langkah itu ("startup") mengambil 8163.890 ms
Menjalankan seluruh langkah membutuhkan 8163.893 ms

Jadi dalam hal ini hampir seluruh pekerjaan dilakukan pada fase awal dari langkah itu.

Sunting :
Logika yang sama "diterapkan" ke informasi biaya

cost=2928781.21..2929243.02 cara:

Biaya untuk menginisialisasi langkah ini diperkirakan: 2928781.21
Biaya untuk melakukan langkah tersebut diperkirakan: 2929243.02

(perhatikan bahwa "biaya" tidak memiliki unit - ini adalah nilai yang berubah-ubah)

Ini juga dijelaskan di sini: http://www.postgresql.org/docs/current/static/using-explain.html

seekor kuda tanpa nama
sumber
Terima kasih atas informasi dan tautannya - Saya juga menemukan dokumen ini bermanfaat, walaupun agak ketinggalan jaman
Jmoney38
Terima kasih untuk tautannya. Dokumen itu tidak terlalu usang. Versi PostgreSQL yang lebih baru menunjukkan lebih banyak informasi dalam rencana, tetapi prinsip-prinsip dasar masih berlaku.
a_horse_with_no_name
Bagaimana Anda menafsirkan sebuah menjelaskan menganalisis dengan ini dalam loop bersarang: (actual time=0.002..0.002 rows=0 loops=119878)? Saya kira rata-rata per loop telah dibulatkan ke nol baris yang tidak membantu, tetapi apakah kali ini benar-benar berarti biaya eksekusi sangat sepele sehingga seluruhnya terdiri dari biaya startup?
Davos
5

Angka pertama adalah berapa lama untuk mengembalikan baris pertama dalam langkah itu. Angka kedua adalah berapa lama untuk mengembalikan baris terakhir.

Scott Marlowe
sumber