2017년 11월 6일 월요일

PostgreSQL query 실행 시간 표시

PostgreSQL 에서 query(or command) 실행 시간을 알고 싶을 때가 있다.
timing 를 사용하면 수행시간을 출력해 준다.

postgres=# \timing
Timing is on.

이제부터 모든 query 에 대해 수행시간이 출력된다.

postgres=# select * from pg_class;
                 relname                 | relnamespace | reltype | reloftype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | relallvisible | reltoastrelid |
relhasindex | relisshared | relpersistence | relkind | relnatts | relchecks | relhasoids | relhaspkey | relhasrules | relhastriggers | relhassubclass | relrowsecurity | relforcerowsecu
rity | relispopulated | relreplident | relfrozenxid | relminmxid |                relacl                 |       reloptions
-----------------------------------------+--------------+---------+-----------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+-
------------+-------------+----------------+---------+----------+-----------+------------+------------+-------------+----------------+----------------+----------------+----------------
-----+----------------+--------------+--------------+------------+---------------------------------------+-------------------------
......
......
......

(316 rows)

Time: 0.076 s

단위는 ms (millisecond) 로 표시된다.

"어? second 인데??"

아~~ 원래 millisecond 인데, millisecond 보다는 second 가 보기 편할거 같아서 소스를 수정해서 사용하고 있다.

만약 변경하고 싶다면, 아래처럼 소스를 수정하면 된다.


소스를 수정했으니 당연히 make, make install 도 해줘야 된다.

시간 표기를 안 하게 해주려면 timing 을 한번 더 실행해주면 된다.

postgres=# \timing
Timing is off.



출처
https://dba.stackexchange.com/questions/3148/how-can-i-time-sql-queries-using-psql

댓글 없음:

댓글 쓰기

WinSCP 기부

나는 리눅스(Linux)를 많이 사용하는 편이다. 회사에서도 사용하고, 개인적으로도 사용하고 있다. 그러다 보니 자연스럽게, SFTP를 많이 사용하게 된다. 리눅스에서는 SFTP에 대해 기본적으로 이렇게 저렇게 잘 지원을 해주는 편인데, 윈도...