Opened 11 years ago

Last modified 9 years ago

#272 new enhancement

Improve speed of rendering engine by not using "select * from table"

Reported by: ksgeograf Owned by: ronnielouie
Priority: medium Milestone:
Component: Mapping Service Version:
Severity: minor Keywords: render select style
Cc: External ID:


The current render engine will load the entire row from the datasource. This involves a potentially large overhead, as it typically needs only a few columns to style the layer.

In a test case I worked on, I was able to reduce render time from 20 to 12 seconds, just by removing unused columns from the dataset.

This solution does not work when the data is required for anything but rendering.

For a simple fix, I propose that the render figures out what columns are used by looking at the scalerange condition rules and tooltip.

It might introduce a significant overhead to preparse this data. If this overhead is inacceptable, the RuntimeMap? could include this information, so that it is done once pr. map, and not at each rendering.

Change History (11)

comment:1 Changed 11 years ago by tomfukushima

Owner: set to stevedang

Thanks Kenneth, the speedup that you are seeing is pretty substantial.

comment:2 Changed 11 years ago by zspitzer

I have seen this speedup effect as well. Anyone using AutoCAD Map with ther database has their performance crippled by this as Map adds all 20 odd ADMP* columns to tables.

comment:3 Changed 11 years ago by tomfukushima

Milestone: 2.0

comment:4 Changed 10 years ago by zspitzer


comment:5 Changed 10 years ago by jng

#771 sound very much like this issue.

comment:6 Changed 10 years ago by stevedang

Milestone: 2.1
Resolution: fixed
Status: newclosed

comment:7 Changed 10 years ago by ronnielouie

Resolution: fixed
Status: closedreopened

Re-opened ticket due to reverting of previous fix since it was incomplete.

comment:8 Changed 10 years ago by ronnielouie

Owner: changed from stevedang to ronnielouie
Status: reopenednew

comment:9 Changed 10 years ago by jbirch

The solution seems pretty complex, and unless someone's been doing a lot of work in a local copy I'd guess that this won't be making it into 2.1... If this is the case, could you please reset or remove the Milestone?

comment:10 Changed 10 years ago by tomfukushima

Milestone: 2.1

comment:11 Changed 9 years ago by jbirch

Type: defectenhancement
Version: 2.0.1

Changing to enhancement, removing version. Would be nice to see this addressed, but at least it's possible to optimize (views, data etl).

Note: See TracTickets for help on using tickets.