gpt4 book ai didi

mysql - 寻找一些聪明的 sql 策略来处理查找表

转载 作者:太空宇宙 更新时间:2023-11-03 11:20:43 25 4
gpt4 key购买 nike

我想在表格中存储不同位置之间的距离。

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 将被调用很多,因此它需要是一个高效的查询。

我已经简化了表格,所以不用担心这些地方是 varchars 等。

有人可以推荐任何策略吗?

最佳答案

将位置称为“A”和“B”。如果 A < B,则在“from”中搜索 A,在“to”中搜索 B,否则,在“from”中搜索 B,在“to”中搜索 A。插入值时的逻辑相同。

这样每个组合只存储一次,而且查询速度很快。

关于mysql - 寻找一些聪明的 sql 策略来处理查找表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1137021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com