Mysql 寻找一些聪明的sql策略来处理查找表
我想在表中存储不同位置之间的距离Mysql 寻找一些聪明的sql策略来处理查找表,mysql,Mysql,我想在表中存储不同位置之间的距离 CREATE TABLE `example` ( `id` INT NOT NULL AUTO_INCREMENT , `from` VARCHAR( 8 ) NOT NULL , `to` VARCHAR( 8 ) NOT NULL , `distance` DECIMAL( 6, 2 ) NOT NULL , PRIMARY KEY ( `id` ) , INDEX ( `from` , `to` ) )
CREATE TABLE `example` (
`id` INT NOT NULL AUTO_INCREMENT ,
`from` VARCHAR( 8 ) NOT NULL ,
`to` VARCHAR( 8 ) NOT NULL ,
`distance` DECIMAL( 6, 2 ) NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `from` , `to` )
)
测量两点之间的距离时,会将其插入表格中。获得“从”和“到”之间的距离显然非常容易。然而,“到”和“从”之间的距离是完全相同的。我不想为了切换“to”和“from”而再排一行。为了实现这一点,我也不想为这个表创建一个查找表
选择距离的sql将被大量调用,因此它需要是一个高效的查询
我简化了桌子,所以不用担心那些地方是瓦查尔等
任何人都有他们可以推荐的策略吗?将位置称为“A”和“B”。如果A
这样,每个组合只存储一次,查询起来很快。将位置称为“A”和“B”。如果A
这样,每个组合只存储一次,而且查询速度很快。我可以提出一些完全不同的建议吗。每个点都有相对于同一点的坐标,因此在给出两个点时将计算距离,而不会保存在DB中
现在,如果这些是地图/图表上的点,那么另一个解决方案已经就位。我可以提出一些完全不同的建议吗。每个点都有相对于同一点的坐标,因此在给出两个点时将计算距离,而不会保存在DB中
现在,如果这些是地图/图表上的点,那么另一个解决方案已经到位。他没有说这些位置有坐标,也没有说它们之间的距离是一条直线。如果地点是城市,距离是最快的公路旅行,它们肯定不是直线。我在回答中提到了图表。无论如何,存储他想要存储的东西的最佳方法不是在关系数据库中。他没有说位置有坐标,也没有说它们之间的距离是直线。如果地点是城市,距离是最快的公路旅行,它们肯定不是直线。我在回答中提到了图表。无论如何,存储他想要存储的东西的最佳方法不是在关系数据库中。