重大问题,mysql给我出了个大难题

BBKBBJ 2010-03-31 12:32:56
//处理1285个代理时间:超时
/*
$query = "
update proxy,worldip
set proxy.code = worldip.code
where proxy.ip > worldip.start and proxy.ip < worldip.end";
*/

//处理1285个代理时间:7秒
$query = "
insert into test
select proxy.ip,worldip.code from proxy,worldip
where proxy.ip > worldip.start and proxy.ip < worldip.end";
mysql_query($query);

$query = "
update proxy,test
set proxy.code = test.code
where proxy.ip = test.ip";
mysql_query($query);

worldip包含字段,start,end,code
proxy包含字段,ip,code

谁能看出到底是什么问题?
update proxy,worldip
set proxy.code = worldip.code
where proxy.ip > worldip.start and proxy.ip < worldip.end

这个语句速度慢的很,运行时间与处理条目数量是成指数增加的
我目前只有导出ip与code到一张中间表,建立对应关系,然后再根据这个对应关系来更新code字段
怀疑是mysql的bug
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
美人心计1999 2010-04-01
  • 打赏
  • 举报
回复
/////////////////////////////
ACMAIN_CHM 2010-04-01
  • 打赏
  • 举报
回复
直接在MYSQL命令行工具中执行并贴出结果

explain select * from proxy,worldip where proxy.ip > worldip.start and proxy.ip < worldip.end;
show index from worldip ;
show index from proxy ;
餅餅 2010-03-31
  • 打赏
  • 举报
回复
$query = "
insert into test
select proxy.ip,worldip.code from proxy,worldip
where proxy.ip > worldip.start and proxy.ip < worldip.end";
这语句也能执行?
helloyou0 2010-03-31
  • 打赏
  • 举报
回复
update proxy,worldip
set proxy.code = worldip.code
where proxy.ip > worldip.start and proxy.ip < worldip.end

这种>与<的连接,一般都是较慢的....

表结构先拿出来看看,包括索引

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧