尽可能快地更新大型MySQL表

时间:2016-06-13 13:45:57

标签: mysql sql

我有一个非常大的表(450万条记录),并且在每条记录上我都有一个带有IP的列和另一列(空的),我应该为该IP写入该国家/地区。我还有另一个表格,其中包含特定范围的IP范围和国家/地区,因此我可以知道哪个国家/地区对应于特定的IP。到目前为止,我正在使用以下代码:

UPDATE table1 
INNER JOIN ipcountry ON  INET_ATON(table1.clientIp) > INET_ATON(ipcountry.start)
SET 
table1.country = ipcountry.country
WHERE
    INET_ATON(table1.clientIp) > INET_ATON(ipcountry.start)
AND
    INET_ATON(table1.clientIp) < INET_ATON(ipcountry.end)
AND 
table1.country = ''

通过使用此代码,我每分钟更新300行(这是缓慢的方式)。任何人都可以推荐我更快的方式或者可以解释为什么这么慢?

0 个答案:

没有答案