WFS performance issue

Arnulf Christl arnulf.christl at CCGIS.DE
Thu Mar 24 08:23:50 EST 2005

Yewondwossen Assefa wrote:
> Frank Warmerdam wrote:
>> On Tue, 22 Mar 2005 10:19:01 -0500, Yewondwossen Assefa
>> <assefa at> wrote:
>>> Frank,
>>>   The WFS code to modify should not be that bad since the functions to
>>> transalte from filter encoding xml syntax to mapserver expression are
>>> localized in separate functions and I could twick the code to generate
>>> sql statements instead of Mapserver expressions and set the layers'
>>>  The problem I have is how would I test this ? I do not have Orcacle
>>> setup here ? What would be my best option to do testing on this ? Could
>>> I use OGR layers with underlaying layers other than oracle ?

Hey Frank, Assefa,
thanx for the comments.

As a clarification: I just picked up the last thread by Steve and
reposted it without too much thinking - but i do not know whether this
would actually adress our problem correctly. I'll just butcher the case
again for you - sorry to be repetitive.

Our problem is that we have to query 6.5 million evenly spread land
parcels by attribute only. There is no bbox attribute to be found
anywhere in the query. We just ask for land parcels with part of their
ID and a trailing wildcard.
What got us stuck was the way MapServer did the query. If i got that one
right: MS first starts a full table scan using the only bbox it could
find - which is the WFS_EXTENT to retrieve the oid of all relevant
geometries. Then it starts another query with the parameters i'd expect
to be in the WHERE clause on this "subset" (which still comprises all
6.5 million elements). This is too heavy for the underlying Oracle
database, Apache timeouts, etc. - it just wont do.

The fun thing is that we *can* do it by using MapServer as a warped WMS.
We simply activate the internal (not OGC) FILTER expression which we add
to the WMS getMap as a vendor parameter. Setting DUMP=true you get a
valid GML - which is all we need to gazetteer, highlight, download and
edit the land parcel.

Does this make sense to you?

I cannot link this problem to whatever you are discussing regarding the
"native attribute filters" because i am too ignorant. sorry bout that...

We can do any testing at any time on PotgreSQL/PostGIS and Oracle with
large datasets. We do not operate an Oracle installation ourselves but
we have customers who are willing to help out.

Best, Arnulf.

Arnulf B. Christl

More information about the mapserver-dev mailing list