我有一个数据库中充满了70k的名字,地址等,我也有一个3万个地址的名单,订单已经发送到。
现在,我有以下MySQL语句:
UPDATE `order_requests`
SET `exported_sent`='sent_2012_05_07'
WHERE `request_address` IN (SELECT `request_address` FROM sent_list)我觉得这应该是可行的,唯一的问题是涉及到太多的查询,以至于phpMyAdmin总是超时。不幸的是,我只能匹配像fname、lname、address、zip之类的东西,因为这两个表不是通过公共id或类似的东西链接的。
PS。我正在编写一个php脚本,这样我就不需要再次手动操作了,但是之前的人做错了,所以我正在修复这个问题!谢谢!
发布于 2012-05-09 05:12:50
使用join可能会更快
UPDATE `order_requests` JOIN sent_list USING(request_address) SET `exported_sent`='sent_2012_05_07';如果没有连接,MySQL很可能会为order_requests中的每一行重新执行查询SELECT request_address FROM sent_list。
发布于 2012-05-09 05:13:54
phpMyAdmin可能由于标准浏览器超时而超时。您是否尝试过通过命令行MySQL客户端运行查询?它不应该受到相同的默认超时的影响。
https://stackoverflow.com/questions/10506559
复制相似问题