Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server中地理编码表的模式设计_Sql Server_Hash - Fatal编程技术网

Sql server SQL Server中地理编码表的模式设计

Sql server SQL Server中地理编码表的模式设计,sql-server,hash,Sql Server,Hash,我想在SQL Server中缓存一个地址列表及其坐标lat+long。通常,我通过调用web服务来获得坐标,为了避免往返到该WS,我希望将所有这些WS响应存储在本地SQL Server数据库中 我想知道如何在本地SQL Server数据库中以最佳方式存储WS-Response,因为我可能有一个500k地址的列表?我在考虑以下结构: AddressHash BIGINT -- PK, clustered index, --obtained by applying a hashing algori

我想在SQL Server中缓存一个地址列表及其坐标lat+long。通常,我通过调用web服务来获得坐标,为了避免往返到该WS,我希望将所有这些WS响应存储在本地SQL Server数据库中

我想知道如何在本地SQL Server数据库中以最佳方式存储WS-Response,因为我可能有一个500k地址的列表?我在考虑以下结构:

AddressHash BIGINT -- PK, clustered index, 
--obtained by applying a hashing algorith (SHA-1?) of
--Street|StreetNumber|Zip|City|County|Country
Lat DECIMAL 
Long DECIMAL 
1/你觉得怎么样

2/您是否推荐更好=更快的哈希算法

在这种情况下,3/BIGINT是最佳数据类型吗

4/在SQL Server中存储这些数据还有其他最佳方法吗


感谢您的输入。

如果有专门用于存储地理数据的数据类型。。。哦,等等,有


关于bigint问题,请使用hashbytes函数返回的任何数据类型。

geography数据类型对地理代码没有多大帮助。反向地理编码+空间索引,是的。为什么地理不适合这个?你会问这张桌子,有了这个地址,它在地球上的什么地方?地理点是一个合适的答案。地理点需要22个字节,Long和Lat DEC9,6各需要5个字节,因此节省了存储空间。此外,在插入过程中,将long和lat转换为地理位置的成本。。。地理数据类型最大的好处是可以访问它们的空间函数和索引。地理编码不需要这些。如果该表将用于其他需要这些空间功能和索引的目的,例如反向地理编码,那么当然可以。您能描述一下常见的数据访问模式吗?