问题描述:
表A有三个字段
ip_number city province表B有四个字段
begin_ip end_ip city province表B是ip地址库,包括一个ip端的开始、结束、对应的城市和省份。目前有23万条数据。
表A是需要更新的目标表,根据ip_number关联B表,更新city,province字段。目前小弟的解决方案是使用join 进行表连接,条件是 A.ip_number >= B.begin_ip and A.ip_number <= B.end_ip;但是此解决方案在数据量小的时候还是可以的,当A表的数据量大的时候,基本就执行不了了。请问大家有什么好的优化方案或者解决方案么。
在线等,谢谢
表A有三个字段
ip_number city province表B有四个字段
begin_ip end_ip city province表B是ip地址库,包括一个ip端的开始、结束、对应的城市和省份。目前有23万条数据。
表A是需要更新的目标表,根据ip_number关联B表,更新city,province字段。目前小弟的解决方案是使用join 进行表连接,条件是 A.ip_number >= B.begin_ip and A.ip_number <= B.end_ip;但是此解决方案在数据量小的时候还是可以的,当A表的数据量大的时候,基本就执行不了了。请问大家有什么好的优化方案或者解决方案么。
在线等,谢谢
where A.ip_number >= B.begin_ip and A.ip_number <= B.end_ip and A.city<>B.city and A.province<>B.province
WHERE a.ip_number>=b.begin_ip AND b.ip_number<=b.end_ip;