[TinyOWS-users] TinyOWS performance problem
Leukert, Boris
boris.leukert at wald-und-holz.nrw.de
Tue Jun 7 07:11:54 EST 2011
Dear Olivier,
I have a performance problem with TinyOWS (r567).
The request
<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature service="WFS" version="1.0.0"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc">
<wfs:Query xmlns:lpis="http://lpis.apia.org.ro"
typeName="lpis:parcels_digitized">
<ogc:Filter>
<And>
<Intersects>
<ogc:PropertyName>lpis:the_geom</ogc:PropertyName>
<gml:Polygon srsName='EPSG:31700'>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>499729,494786 499743,494786
499743,494786 499729,494772 499729,494786</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</Intersects>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>lpis:status</ogc:PropertyName>
<ogc:Literal>1</ogc:Literal>
</ogc:PropertyIsEqualTo>
</And>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
results in the SQL statement
SELECT
"gid","farm_id","fiscal_year","status","sirsup_code","bloc_nr","parcel_n
r","crop_nr","cat_use","crop_code","area_declared","agro_env","parcel_no
te","inserted","updated","full_bloc",ST_AsGML(2,
ST_Transform("the_geom"::geometry,31700),0,0) AS "the_geom"
,"editor","date_confirm"
FROM public."parcels_digitized"
WHERE (
ST_Intersects(ST_Transform("the_geom",31700),'0103000020D47B000001000000
050000000000000044801E410000000008331E41000000007C801E410000000008331E41
000000007C801E410000000008331E410000000044801E4100000000D0321E4100000000
44801E410000000008331E41') AND "status" = 1) LIMIT 100
The SQL statement causes a full table scan on the table
parcels_digitized even if the table as a geometry index.
It runs about 6 seconds on 3.9 million rows in the table what is not
very performant.
If I change the strings "ST_Transform("the_geom",31700)" in the WHERE
clause of the statement to "the_geom" the
geometry index is used an the statement run in about 12 ms!
For me there is no reason to transform the geometries in the SQL
statement because I am using only EPSG:31700.
Is it possible to prevent the transformations if only one projection
system is used in the application, TinyOWS and database?
Best regards,
Boris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/tinyows-users/attachments/20110607/db8b07da/attachment-0001.htm
More information about the TinyOWS-users
mailing list