【发布时间】:2011-05-09 20:49:08
【问题描述】:
我最近一直在尝试地理数据类型,我很喜欢它。但我无法决定是否应该从当前模式转换为地理类型,该模式将纬度和经度存储在两个单独的数字(9,5)字段中。我已经计算出这两种类型的大小和表示一个点的纬度/经度方式是单个点的 28 个字节,而地理类型是 26 个。空间上的增益不是很大,但在执行地理空间操作(相交、距离测量等)方面有很大的改进。 ) 目前使用笨拙的存储过程和标量函数处理。我想知道的是指数。地理数据类型是否需要更多空间来索引数据?我有一种感觉,即使存储在列中的实际数据较少,我认为地理空间索引的工作方式最终会为它们分配更大的空间。
附:附带说明一下,除非明确告知使用 WITH(INDEX()) 子句,否则 SQL Server 2008(不是 R2)似乎不会自动搜索地理空间索引
【问题讨论】:
-
我不想成为“那个人”,但试试看会发生什么!如果对整个数据集执行此操作不可行,请选择一个子集并比较这两种方法的子集。
-
不幸的是,尝试不是一种选择,因为我们正在谈论数千万条记录。尝试一个子集并不是一个现实的测试,因为在我的经验中,当某些东西在较小的规模上表现完美时,这在生产中是一场彻底的灾难。
-
您专门询问的是空间,而不是性能(除非我遗漏了什么)。因此,取 10000 行(例如)并比较这两种策略是一个很好的测试。
-
好吧,即使我这样做,也只会回答是/否。但我真的很想知道为什么。
标签: sql-server geospatial sqlgeography