Opened 21 years ago
Last modified 14 years ago
#460 closed defect
Query Efficiency — at Initial Version
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | high | Milestone: | |
Component: | MapServer CGI | Version: | unspecified |
Severity: | normal | Keywords: | |
Cc: | bartvde@… |
Description
1. Noone seems to know how the query (itemquery, itemnquery) mechanics actually work. Some investigation and documentation are needed. 2. The query method appears to be (a) do a query-by-rectangle (with filter) to get record#s, then (b) repeatedly request each feature by record number. In order for this to be efficient, it assumes a O(1) get-feature-by-record-number access. This isnt true for all layer types. Also, cacheing the results of the query-by-rectangle (with filter) isnt generally possible because the columns (items) havent been set yet in the layer object or by a call to LayerGetItems(). 3. Why is there a separate query/draw mechanism? Why doesnt mapserv just do a normal draw-type request (query-by-rectangle (with filter)), then use the normal getNextShape() functions? Its a maintainance issue to have each layer implement two basic functions (draw and query) when query could be seamlessly implemented by the draw mechanism. C.F. mailing list discussion with subject "Re: [Mapserver-dev] Re: [Mapserver-users] Mapscript drawQuery() on big PostGIS layers doesn't work properly ?" Daniel requested a bug report so this doesnt go away.
Note:
See TracTickets
for help on using tickets.