Geocoding: initial call to geocoder VERY SLOW
576660Jun 19 2007 — edited Jul 5 2007Hi,
we use Oracle 10gR2 for geocoding Europe.
We encounter this odd behavior:
The first call to sdo_gcdr.geocode() in a session takes much longer than all superceding calls in that session. Depending on the environment we talk about 4 minutes for the first call and 4 seconds or less for the following ones in that session!!
The reason seems to be this:
For every sessions' initial call to the geocoder country profiles are loaded from the database. This is documented in ORACLE trc-files. However, Country Profiles are loaded redundantly. Redundance increases with the number of entries in GC_COUNTRY_PROFILE:
If I only have one entry in GC_COUNTRY_PROFILE, that profile is loaded twice.
If I have two entries in GC_COUNTRY_PROFILE, each profile is loaded 4 times.
If I have three entries in GC_COUNTRY_PROFILE, each profile is loaded 6 times.
If I have four entries in GC_COUNTRY_PROFILE, each profile is loaded 8 times.
If I have 17 entries as I want to have, each profile is loaded 32 times.
This apparently has impact on performance of that initial call!
What is the reason for this and how can I eliminate it? Loading each profile ONCE is enough, really.
Cheers
Sebastian