psql을 사용하여 SQL 쿼리 시간을 어떻게 정할 수 있습니까?


답변:


321

다음을 입력하여 타이밍을 켜십시오.

\timing


1
bash에서 "-c"옵션은 psql이 설정을 허용하지 않습니다. 다음과 같은 방법으로이 작업을 수행 할 수 있습니다. psql --o /dev/null <<EOF \timing select 1 EOF
3manuek

6
또는psql -c '\timing' -c 'select 1'
cdmckay 2


12

\timing원격 서버에 연결하는 경우 반환 되는 시간 에 네트워크 대기 시간도 포함됩니다.

이를 원하지 않고 쿼리 출력도 필요하지 않은 경우 더 나은 use를 사용 EXPLAIN ANALYZE하면 플래너 추정치와 실제 실행 시간을 더한 쿼리 계획이 출력됩니다.

예를 들어 EXPLAIN ANALYZE SELECT foo from bar ;


1
... 유일한 문제는 정상적인 쿼리 출력을받지 못한다는 것입니다.
dezso

2
explain analyze사용할 때 볼 수있는 시간의 약 두 배인 항복 시간을 사용 하면 \timing네트워크 대기 시간에 대한 의견을 바탕으로 기대하는 것과 반대입니다. analyze쿼리 실행 시간이 길어질 수록 정상적인 실행에 오버 헤드가 있다고 생각합니다 . 문서를 기반으로 EXPLAIN (ANALYZE, TIMING OFF) SELECT foo FROM bar하면 더 유용한 타이밍 정보를 얻을 수 있다고 생각합니다 . 자세한 내용은 postgresql.org/docs/9.6/static/sql-explain.html 을 참조하십시오.
larsks
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.