Can I optimize my Place tree?

I there a way to rebuild my Place hierarchy so that it populates the Place Selection dialog faster?

Selecting a Place when creating an Event becomes very slow as an editting session lengthens. Populating the grouped Place selector is very quick at the beginning of a session. But the latency (between when data is available and the populating of the dialog finalizes activity) becomes longer & longer as the work session goes on throughout the day.

I often start by drilling down to a county in a US state to discover if the actual Place already exists in my Hierarchy. So, while the Place data is loading, I type (or paste) in the county search string & hit ‘enter’. This often pops up the filtered list while the re-population continues some housekeeping. I can select from the filtered list & clear the Search terms. The ‘clear’ re-displays the unfiltered list… drilled-down & centered on my selection. If I can get to this point before the housekeeping finishes, that drill-down is stable.

But, if the housekeeping finishes BEFORE that point, the search term & selection are flushed and the top of the Place hierarchy is shown. I have to start the drill-down all over. (I lose in the productivity race!)

Now, while I might wonder why the Place Selection dialog re-initializes the search bar at the end of housekeeping, that is deep in the program… far beyond anywhere I can affect.

So I am instead wondering if there is any way my Place database can restructured to reduce the housekeeping? Perhaps the XML data can be re-sequenced where a new import would build a more easily digestible Tree for SQLite?

Maybe there’s something wrong with my Place tree that makes housekeeping take longer & longer? As an example, the family hierarchy has a tool to find loops that need to be repaired.

(Gramps 5.1.3-2 and Win10 Home)