如何优化点对点距离数据的读取速度 SQL table

How to optimise SQL table for read speed for point to point distance data

我打算存储所有点之间的距离列表。

所以如果我只有 3 分 (A-C) 就像

 | FROM | TO | DISTANCE
 | A    | B  | 10 miles
 | A    | C  | 15 miles
 | B    | C  | 12 miles

显然,您可以推断出 B 到 A = 10 英里,因为您知道 A 到 B = 10 英里。就我的查询而言,我可能正在搜索 A 到 B 或 B 到 A - 我无法保证旅程的起点和终点的顺序。

我有 1600 点,这使得 (1600^2 - 1600)/2 = 1.3m 可能的旅程。存储数据以供 A 到 B 或 B 到 A 查询的最佳方式是什么?

这肯定是一个很常见的问题,所以我想从数据库专家那里了解是否有解决它的通用模式或实践我需要事实、参考资料或特定专业知识来回答这个问题 而不是模糊的意见,因为我自己有很多意见:)

这是在 SQL Azure 上,以防有所作为

如果我要解决这个问题,而不是说 From 和 To 列,我会将其称为 Point1 和 Point2 并始终确保 point2 大于 point1,在您的情况下为 C>B、B>A 和 C >A

希望对您有所帮助。