当前位置: 代码迷 >> Sql Server >> 修改表语句优化有关问题
  详细解决方案

修改表语句优化有关问题

热度:67   发布时间:2016-04-24 10:00:14.0
修改表语句优化问题
update gm_player_info
set countryCode =(select top 1 countryCode from GeoIP from A.ips between beginNum and endNum)
from gm_player_info A

表gm_player_info里有3000W条数据,ips加了索引的,ips是IP转换才数值型
表GeoIP 是IP库,里面有IP段的国家,beginNum 和endNum是IP转换才数值型

请问这个要修改表gm_player_info的国家,需要怎么做比较块?我用上面的SQL改已经50分钟了,还是没有反应,求指点
------解决思路----------------------
在新窗口,把你这个语句贴进去,然后点ctrl+L,贴一下那个执行计划。
PS,你的语句有错,两个from,最后一个要改成where
------解决思路----------------------
update gm_player_info
set countryCode = G.countryCode 
from gm_player_info A, GeoIP G
WHERE  A.ips between G.beginNum and G.endNum




------解决思路----------------------
CREATE INDEX IX_GeoIP ON GeoIP(beginNum,endNum)INCLUDE(countryCode)


加上试试
  相关解决方案