[mapserver-users] Mapserver and MapScript performance issue
Hawk AA
hawk at aamdal.com
Thu Sep 8 06:07:33 PDT 2011
Hi,
First of all, thank you for Mapserver and all of the documentation. Its
really a great product.
Im having some performance issues when querying on a column in MapScript.
I use the following code:
$oResult = @$oLayerObject->queryByAttributes($strField, $strSearchString,
MS_SINGLE);
Where $strField can for instance be Point_ID and $strSearchString can be
something like HEG1 . I only need one result, as the column is the primary
key for the table, and is unique.
The tables Im searching through is of MapInfo *.tab format, has about
50000 records, and the actual columns are indexed.
Each lookup with PHP MapScript takes about 1.5 seconds. Ive uploaded the
data into a PostGIS-database, and I can find the actual record in about 0.03
seconds.
My mapfile definition of the layers looks like this:
LAYER
NAME Traseer
PROJECTION
"init=epsg:32632"
END
GROUP TelMe
METADATA
"wfs_title"
"Traseer"
"wfs_srs"
"EPSG:32632"
"gml_featureid"
"Trace_ID"
"gml_include_items"
"Trace_ID,Type"
END
TYPE LINE
CONNECTIONTYPE OGR
CONNECTION "TM_Nett/TM_Traces.TAB"
STYLEITEM "AUTO"
maxscaledenom 300000
TEMPLATE "ttt_query.html"
DUMP TRUE
CLASS
NAME "Traseer"
SYMBOL
"default-circle"
COLOR 255 0 0
#SIZE 6
END
END # Layer
LAYER
NAME Punkter
GROUP TelMe
METADATA
"wfs_title"
"Punkter"
"wfs_srs"
"EPSG:32632"
"gml_featureid"
"Point_ID"
"gml_include_items" "all"
"gml_exclude_items"
"rowid#"
"wms_title"
"Punkter"
"wms_srs"
"EPSG:32632"
END
PROJECTION
"init=epsg:32632"
END
DUMP TRUE
TYPE POINT
CONNECTIONTYPE OGR
CONNECTION "TM_Nett/TM_Points.TAB"
CLASSITEM "Type"
CLASS
maxscaledenom 1000
TEMPLATE "ttt_query.html"
EXPRESSION "TRASE SPLIT"
NAME "Trasedeling"
STYLE
SYMBOL 'circle'
SIZE 8
COLOR -1 -1 -1 #Usynlig
END
END
CLASS
maxscaledenom 3000
TEMPLATE "ttt_query.html"
EXPRESSION /NEXANS WTC*/
NAME "WTC-Bokser"
STYLE
SYMBOL 'square'
SIZE 12
COLOR 255 128 0 #Orange
OUTLINECOLOR
0 0 0
END
END
CLASS
maxscaledenom 10000
TEMPLATE "ttt_query.html"
EXPRESSION /NODE*/
NAME "Node"
STYLE
SYMBOL 'house'
SIZE 16
COLOR 255 128 0 #Orange
OUTLINECOLOR
0 0 0
END
END
CLASS
maxscaledenom 1000
TEMPLATE "ttt_query.html"
NAME "TelMe_Punkter"
STYLE
SYMBOL 'circle'
SIZE 6
COLOR 255 128 0 #ORANGE
OUTLINECOLOR
0 0 0
END
END
END # Layer
My question would be: Why is MapScript not taking the advantage of the
existing index on the MapInfo *.tab files, and takes 50 times longer than
the PostGIS queries?
Thanks in advance,
Håkon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20110908/c498b136/attachment.htm>
More information about the MapServer-users
mailing list