zoukankan      html  css  js  c++  java
  • php+Mysql 大数据导入怎样提高效率?

    数据库数据同步,迁移等其他操作时,会涉及到数据的转移,插入操作。如果是千万级别的数据操作,那么怎样提高插入效率呢??可能有人会说,用load方法简单高效。是的,但是如果是不同数据库之间的同步插入该怎么解决呢??也许你有很高明的办法,也许你一无所措。这里演示一种常规操作方法,仅供参考。

    工具/原料

     
    • php开发运行环境;
    • 数据库系统;
    • 大数据资源。

    方法/步骤

     
    1. 1

      优化SQL插入语句;

      比如循环一条一条插入,改成链接多个值进行插入。

      将:

      foreach($re as $it){

      $sql="insert into table (id,name) values(".$it['id'].","."$it['name'].")";

      mysql_query($sql);

      }

      改为:

      $sql="insert into table (id,name) values";          

      foreach($re as $it){          

      $str=    "'".$it['id']."','".$it['name']."'";           

      }           

      $sql .= "(".$str."),";           

      $sql2 = substr($sql,0,-1);          

      mysql_query($sql);

      php+Mysql 大数据导入怎样提高效率?
    2. 2

      打开mysql的配置文件,my.ini文件,并找到:max_allowed_packet项;

      php+Mysql 大数据导入怎样提高效率?
    3. 3

      将值修改大一点,具体根据自己需要修改。比如这里修改为:1G。

      php+Mysql 大数据导入怎样提高效率?
    4. 4

      重启mysql服务;

      php+Mysql 大数据导入怎样提高效率?
    5. 5

      如果运行页面提示内存溢出,可将值设大一点。

      Allowed memory size of 134217728 bytes exhausted (tried to allocate 132907287 bytes)

      php+Mysql 大数据导入怎样提高效率?
    6. 6

      这样,面对千万数据导入的时候,比原来那种方法至少快好多倍。

      END
     
    经验内容仅供参考,如果您需
  • 相关阅读:
    Python从文件中读取数据
    Python中类的继承
    Python中的类(2)
    Python中的类
    自动登陆抽屉(1)
    爬取汽车之家新闻
    Django简介
    web应用,http协议简介,web框架
    CentOS7安装python3.6
    MySQL之索引
  • 原文地址:https://www.cnblogs.com/benpaodegegen/p/7365754.html
Copyright © 2011-2022 走看看