我打算從存儲的所有點彼此距離的列表。如何優化SQL表,讀取速度爲點到點的距離數據
所以,如果我只有3分(A-C),它會像
| FROM | TO | DISTANCE
| A | B | 10 miles
| A | C | 15 miles
| B | C | 12 miles
很明顯,因爲你知道A到B = 10數,您可以推斷,B到A = 10英里。在我的查詢方面我可能會尋找A到B或B到A - 我不能保證旅途的起點和終點的順序。
我有1600點,這使得(1600^2 - 1600)/ 2 =1.3米可能行程。存儲數據以查詢A到B或B到A的最佳方式是什麼?
- 我是否應該複製導致2.5m行的反向行程的行並對其進行查詢?
- 或者我應該在兩列上創建一個複合聚簇索引 ,並且知道至少存在一個存在的情況下,搜索A到B或B到A ?
- 還是別的什麼聰明
這是一個常見的問題,足以肯定,所以我想從DB專家知道是否有一個常見的模式或做法解決它。 我想,因爲我有很多他們自己:)事實,引用或專門知識來回答這個問題不只是含糊意見
這是SQL Azure在情況有差別
您使用的是地理空間還是點更概念/上下文,你碰巧知道它們之間的距離? –