求助高手:区间命中后更新的优化算法

[复制链接]
查看11 | 回复2 | 2021-1-27 06:36:47 | 显示全部楼层 |阅读模式
现有:
一张IP字典表,约45W个区间段,表结构为ip(ip_min_index,ip_max_index,description)
一张IP访问表,每天约1.5W个IP访问,表结构为access(ip_index,description)
需求:
根据access.ip_index所在的ip.ip_min_index,ip.ip_max_index区间,将ip.description的值更新到access.description
目前的SQL:
updateaccessa
seta.description=(
selectdescriptionfromipbwhereb.ip_min_index -->
回复

使用道具 举报

千问 | 2021-1-27 06:36:47 | 显示全部楼层
你给的sql语句写了2个ip_min_index,其中一个应该是ip_max_index。
你access表有多少数据?你在更新时间不加时间条件吗?比如每次只更新近48小时内的?
你用leftjoin试试。
回复

使用道具 举报

千问 | 2021-1-27 06:36:47 | 显示全部楼层
引用1楼feiazifeiazi的回复:你给的sql语句写了2个ip_min_index,其中一个应该是ip_max_index。
你access表有多少数据?你在更新时间不加时间条件吗?比如每次只更新近48小时内的?
你用leftjoin试试。

1、a.ip_index<=b.ip_min_index这个是的确是我打错了,
2、access(ip_index,description)入库时中只有IP,所有不判断时间,只判断a.descriptionisnull就可以了
3、access表约1.5W
4、leftjoin试过,依然很慢很慢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行