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を返すことができます。 ちょっとした豆知識なんだけど、みなさん知ってますかね?・・・