在城市关系数据库下的区域中,使用经纬度与自动增量的复合键作为主键

问题描述

假设我们需要将以下数据保存在数据库

FSocket->Free();

那么使用Lat和log的组合作为主键是一个好主意吗? 或最好再增加一列作为自动增量主键。

此外,查询将基于县进行,并且需要获取所有经纬度。

解决方法

您应该使用自动增量主键。

主键的目的之一是为外键引用提供一个键。在大多数情况下,整数列是最佳选择。此外,您无需指定这些地址,但是可以在同一位置使用多个地址(例如,意大利那不勒斯的地铁有两条沿山坡垂直对齐的地铁)。

此外,您再也不想将浮点数用作主键。甚至扩展到定点十进制数字。

添加另一列以唯一地标识每一行。

,

对于问题的第一部分,应该使用自动增量,因为它是定义表主键的最佳方式,因为它由数据库本身管理。 对于第二部分关于基于某些列的查询,Indexing 应该有利于此目的。