Database JUNKY

MySQL,MariaDBを中心としたブログです

EnterpriseDB(PostgreSQL Plus) - クエリの応答時間を計測する

PostgreSQLの、コマンドで、クエリーの応答時間をとりたい場合は、以下のようなコマンドを記載します。 以下のSQLは、POSTGISを利用した、クエリーの応答時間がとれくらいかと算出している状況です。

[sql] pgis=# \timing pgis=# SELECT * FROM pgis-# ( pgis(# SELECT pgis(# prefecture,city,area,rtrim(jiban) as banchi,X(geom) as lng,Y(geom) as lat, pgis(# distance_spheroid( pgis(# geom, pgis(# GeometryFromText('POINT(139.724501 35.687577)',4326), pgis(# 'SPHEROID["GRS_1980",6378137,298.257222101]' pgis(# ) AS KYORI FROM geos pgis(# where pgis(#     geom && Box2D(ST_GeomFromText('LINESTRING(139.650 35.600, 139.800 35.750)')) pgis(#   AND pgis(#     distance_spheroid(geom,GeometryFromText('POINT(139.724501 35.687577)',4326),'SPHEROID["GRS_1980",6378137,298.257222101]') < 100 pgis(# ) AS GISX pgis-# ORDER BY pgis-#   GISX.KYORI; prefecture |  city  |    area    | banchi |    lng    |   lat    |      kyori ------------+--------+------------+--------+-----------+----------+------------------ 東京都     | 新宿区 | 四谷二丁目 | 12     | 139.72438 | 35.68781 | 28.0764049790079 東京都     | 新宿区 | 四谷二丁目 | 11     | 139.72457 | 35.68731 | 30.2759248844976 東京都     | 新宿区 | 四谷二丁目 | 10     |   139.725 | 35.68763 | 45.5497254663094 東京都     | 新宿区 | 三栄町     | 18     | 139.72524 |  35.6879 | 75.8879717852212 東京都     | 新宿区 | 三栄町     | 25     | 139.72415 | 35.68827 | 83.1962062966614 東京都     | 新宿区 | 四谷二丁目 | 7      | 139.72487 | 35.68687 | 85.2589884379294 東京都     | 新宿区 | 三栄町     | 18     | 139.72509 | 35.68819 | 86.4200439986426 東京都     | 新宿区 | 三栄町     | 24     | 139.72472 | 35.68834 | 86.9472210027482 東京都     | 新宿区 | 四谷二丁目 | 13     | 139.72364 | 35.68802 | 92.1407737733267 東京都     | 新宿区 | 四谷二丁目 | 8      | 139.72534 | 35.68706 | 95.1741204078278 東京都     | 新宿区 | 三栄町     | 17     | 139.72552 | 35.68781 | 95.7920604004985 (11 rows)

Time: 281.905 ms

[/sql]

上記通り、SQL発行前に、\timingを発行してあげることによってTimeを返すことができます。 ちょっとした豆知識なんだけど、みなさん知ってますかね?・・・