Ticket #460 (closed defect: wontfix)
Query Efficiency
| Reported by: | dblasby@… | Owned by: | sdlime |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | MapServer CGI | Version: | unspecified |
| Severity: | normal | Keywords: | |
| Cc: | bartvde@… |
Description (last modified by sdlime) (diff)
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.
Change History
Note: See
TracTickets for help on using
tickets.
