VS: [mapserver-users] Mapserver search performance

Varun saraf vsaraf.gmu at gmail.com
Tue May 3 16:19:10 EDT 2011


Hi,

Thanks a lot Andreas. That JOIN was the culprit as you rightly
suggested. Once I removed the join, the performance increased
exponentially. The 5 minute cgi run now took under 5 seconds which is
simply amazing. I just need one more help. Is there a DBF editor out
there that can be used to import the fields from any external data
source into the shapefile attribute DBF without affecting the
structure? I looked for a lot but they do not have the capability of
doing a JOIN based on a common field and pulling data into the
shapefile DBF automatically. My company cannot afford the ArcGis
software.

Thanks,
Varun

On Fri, Apr 15, 2011 at 2:40 AM, Eichner, Andreas - SID-NLKM
<Andreas.Eichner at sid.sachsen.de> wrote:
>
> Hi,
>
> AFAIK dBase files don't provide an index themselves and there's no other
> way to provide one. shptree only creates an spatial index. Therefore
> only queries like 'does this geometry touch/intersect/lie within a given
> rectangle'can be accelerated.
>
>> I tried the shptree tool but did not see any performance improvement.
>
> So this becomes clear: By doing a JOIN MapServer basically runs a loop:
> for each geometry that matches search withing external data for a line
> matching the join condition.
>
>> Could it be because all of this information that I require is coming
>> from an external DBF file that I join to the layer/shape's DBF? Will
>> including all these fields/information in the shape's DBF file itself
>> help?
>
> I'm pretty sure that this would help, since this would avoid the
> (unaccelerated) join. With a database like PostgreSQL/PostGIS or SQlite
> it's basically the same problem: if you don't create an appropriate
> index for the join condition, this becomes an costly operation. Although
> those columns are usually primary and foreign key columns with
> appropriate index and the join condition is usually a simple equality
> match.
>


More information about the mapserver-users mailing list