SQL sorgularını psql kullanarak nasıl zamanlayabilirim?


Yanıtlar:


321

Sadece girerek zamanlamayı açın:

\timing


1
Kısaca, "-c" seçeneği psqlbu ayara izin vermiyor. Bunu şöyle bir şeyle yapabilirsiniz: psql --o /dev/null <<EOF \timing select 1 EOF
3manuek

6
Veya yapınpsql -c '\timing' -c 'select 1'
cdmckay


12

\timingUzak bir sunucuya bağlanıyorsanız, dönen süre ağ gecikmesini de içerir.

Bunu istemediğinizde ve sorgu çıktısına da ihtiyacınız olmadığında EXPLAIN ANALYZE, planlayıcı tahminleriyle birlikte gerçek yürütme süreleriyle sorgu planını çıkaran daha iyi kullanın .

Örneğin, EXPLAIN ANALYZE SELECT foo from bar ;


1
... tek sorun, normal sorgu çıktısını almamanızdır.
dezso

2
Kullanırken explain analyzegördüklerimin yaklaşık iki katı olan verim sürelerini kullanmak \timing, ağ gecikmesiyle ilgili yorumlara dayanarak beklediğimlerin tam tersi. analyzeSorgu süresi için normal yürütmede ek yük olduğundan şüpheleniyorum . Dokümanlara dayanarak, bunun EXPLAIN (ANALYZE, TIMING OFF) SELECT foo FROM barsize daha yararlı zamanlama bilgisi sağlayacağını düşünüyorum . Ayrıntılar için postgresql.org/docs/9.6/static/sql-explain.html adresini ziyaret edin.
larsks
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.