Bagaimana saya mengatur waktu SQL-queries menggunakan psql?


Jawaban:


321

Nyalakan waktu dengan memasukkan:

\timing


1
Dari bash out, opsi "-c" dari psqltidak mengizinkan pengaturan ini. Anda dapat melakukan ini dengan sesuatu seperti: psql --o /dev/null <<EOF \timing select 1 EOF
3manuek

6
Atau lakukanpsql -c '\timing' -c 'select 1'
cdmckay


12

Waktu yang \timingkembali juga termasuk latensi jaringan, jika Anda terhubung ke server jauh.

Ketika Anda tidak menginginkannya dan juga tidak memerlukan output kueri, gunakan yang lebih baik EXPLAIN ANALYZE, yang menampilkan rencana kueri dengan perkiraan perencana ditambah waktu eksekusi aktual.

sebagai contoh, EXPLAIN ANALYZE SELECT foo from bar ;


1
... satu-satunya masalah adalah Anda tidak menerima output permintaan normal.
dezso

2
Menggunakan explain analyzehasil kali yang kira-kira dua kali lipat apa yang saya lihat saat menggunakan \timing, yang merupakan kebalikan dari apa yang saya harapkan berdasarkan komentar di sini mengenai latensi jaringan. Saya menduga bahwa ada overhead dalam eksekusi normal analyzeyang menambah waktu permintaan. Berdasarkan dokumen, saya pikir itu EXPLAIN (ANALYZE, TIMING OFF) SELECT foo FROM barakan memberi Anda informasi waktu yang lebih berguna. Lihat postgresql.org/docs/9.6/static/sql-explain.html untuk detailnya.
larsks
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.