我想把uc_menber中的数据插入到cdb_menber中,条件是这条数据在cdb_mener中不存在!也就是部分数据在cdb_mener中没有,而uc_menber有,他们是相同字段的表,这里要处理的数据量非常大,要考虑执行的时间,和内存,希望把时间设为和内存设为最大!

解决方案 »

  1.   


    $sql  = "select * from  uc_menber uc, cdb_menber cdb where uc.id <> cdb.id";//id 是指区分两个数据不一样的字段你可以换一下这句SQl可以取出所有的你要的数据,然后再插入数据库,
    如果你的数据特别大,你可以分批插入,这个就不用我说了吧,那样可以节约时间,哈哈
      

  2.   

    你用那个SQL应该是最快的时间,不信你可以试一下,数据大没办法的,很多的数据怎么可能很短的时候查出来啊
      

  3.   

    试一试mysqldump -uYOUR -pYOURPASS  yourdb uc_menber -w "id in (select uc_menber.id from uc_menber left join cdb_menber ON uc_menber.id=cdb_menber.id  where cdb_menber.id is not null)" --lock-all-tables > yourResult.sql
      

  4.   

    然后在把导出的在导入到cdb_menber中即可
      

  5.   

    这个 SQL 语句…… 几乎是两个表的笛卡尔积呀,那还得了啊!试试这个吧:
    SELECT u.* FROM uc_menber u LEFT OUTER JOIN cdb_menber ON u.id=c.id WHERE c.id IS NULL
    ■□■□■□■□■□■□■□■
    □             □
    ■  忍以明志 勤以致远  ■
    □             □
    ■□■□■□■□■□■□■□■
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  6.   

    我想用一段PHP代码来完成这个任务,任务是这样的,一个discuz论坛,里面跟那个UC同步,而现在是UC中有一部分数据是BBS用户表里没有的!我只取UC中部分信息插入到BBS即可。这个数据量应该还是蛮大的,用PHP代码执行 ,那要怎么做!
      

  7.   

    bbs在uc注册后只要用户登录bbs会自动从uc取得用户数据写入到bbs
      

  8.   

    没必要导入啊,你只要做了同步了,那么再用户第一次登陆bbs的时候,可以把信息导入到bbs,这样就减轻很多压力了,或者你做一个激活的过程也是可以的,总之不用一步导出导入
      

  9.   

    之前没做,现在想将原来的数据导入啊,原来的是注册了要激活BSS才会同步到bbs 现在想的是不用激活就能同步,也就想将原来没有激活的数据导入到bbs里
      

  10.   

    set_time_limit(365*24*3600);
    ini_set('memory_limit','512M');
    ignore_user_abort(true);1、比如每次取100条
    SELECT * FROM uc_menber where id>$last_id ordery by id asc 0,100;2、循环取出来的100条数据,$last_id  = id
    INSERT IGNORE INTO cdb_menber ...3、担心服务器负担重的,可以 sleep(1)一直循环1,2,3步。直到第1步取不出数据为止。在上面的执行过程中,可以建立一个临时表,记录执行状态status(0表示未执行,1表示正在执行),已执行数量,最近执行id。
    每次执行第1步之前,先获取检查status,如果不是1,则break或者die掉。
      

  11.   

    如果中途想停止导数据的话,就可以到临时表,把status改成别的值,脚本就停止了。
      

  12.   

    感觉不是代码的问题,应该是你服务器的问题吧!你用这个连接数据库查询一个表看看能否得到数据!
    如果还不行。那就别用iis了,换Apache吧!装一个集成的 推荐AMPServ 5.2.6
    $conn = @ mysql_connect("localhost", "root", "root") or die("数据库服务器连接错误!".mysql_error());