我是一個服務車輛調度Web應用程序的開發人員。它使用SQL服務器以.Net 4+,MVC4編寫。緩存地理空間計算或即時計算?
在地理數據庫中存儲了2000多個地點作爲地理數據類型。假設我們從位置A發送資源到位置B,驅動時間/距離等需要在一個點上顯示。如果我用SQL Server的STDistance計算距離,它只會給我「如同烏鴉飛」的距離。因此,系統需要打擊像bing,Google或ESRI這樣的地理空間服務,並獲得實際的駕駛時間或建議的路線。問題是這是一個核心功能,會發生ALOT。
我應該用預先計算的距離還是平均驅動時間預先填充查找表?不利的一面是,即使沒有增加更多的地點,那就是每次需要信息時都要搜索4百萬條記錄。
最重要的是,目的地不是我們存儲的地理空間座標之一,而是大陸任何地方的地址或長/拉點,這使得預先計算變得不可能。
我試圖避免性能問題不得不經常碰到一些geoservies端點。
關於如何最好地解決這個問題的任何建議?
-thanks!