首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

[已解决]大数据量表的查找问题

复制PHP内容到剪贴板
PHP代码:
/*
表:video_url_list 目前总记录数有 628 *30 
id
user_name
uid 都为空
keyword
表:user  目前总记录数有 47854 *30 
id
name
通过表user修改表video_url_list的uid
*/
$sql "SELECT A.id,B.id AS uid FROM video_url_list AS A LEFT JOIN user AS B ON A.user_name = B.name ORDER BY A.id DESC ";
$result=mysql_query($sql);
while([
email=$row=@mysql_fetch_array($result]$row=@mysql_fetch_array($result[/email]))
{   
if(
$row[uid])
{
  
$sql3="update video_url_list set uid= ".$row[uid]." where id=".$row[id]."";
     
mysql_query($sql3) or die(mysql_error());
}
}
echo 
"ok";

代码很简单,如此大的数据量查找效率实在难以执行。哪位有好的方法推荐

[ 本帖最后由 zhengdl126 于 2008-7-4 09:21 编辑 ]
昵称: zhengdl126  时间: 2008-07-02 16:08:00
大量数据更新用游标是一定慢的,

建议更改为
复制PHP内容到剪贴板
PHP代码:
update   t1   
inner   join   t2   on   t1.aa t2.aa   set   t1.bb   =  t2.bbb

昵称: coolstr  时间: 2008-07-02 21:35:00
谢谢,测试能看到效果。感觉uername有点不匹配的问题,找了很久才修改一条记录,可能是表的问题 。
好代码,收藏 了。
昵称: zhengdl126  时间: 2008-07-03 10:15:00
回去测试下,好的就收下
昵称: kukusuiyi  时间: 2008-07-15 11:52:00