zoukankan      html  css  js  c++  java
  • 8位数字md5和sha1数据,1亿条数据入库

    千万级数据库入库测试。

     1 header("content-type:text/html; charset=utf-8");
     2 $path = dirname(realpath(__FILE__));
     3 $fw = fopen($path . "/md5.sql", "w");
     4 for($i=0; $i<100000000; $i++){
     5     $md5  = md5($i);
     6     $sha1 = sha1($i);
     7     $str = '';
     8     if($i % 2000 == 0){
     9         if($i !== 0)$str = ';'.chr(10);
    10         $str .= 'INSERT INTO `npd`(`m`,`s1`) VALUES(\''.$md5.'\',\''.$sha1.'\')';
    11     }
    12     else{
    13         $str .= ',(\''.$md5.'\',\''.$sha1.'\')';
    14     }
    15     fwrite($fw, $str);
    16     if($i % 100000 == 0) echo $i.chr(10);
    17 }
    18 fwrite($fw, ';'.chr(10));
    19 fclose($fw);
    20 echo "create insert sql success\n"; exit;

    采用命令行模式,一亿条数据文件生成很快,大概耗时20分钟,将近7.5G大小。 导入mysql数据库,库表无索引,大概两个小时还不到。 单条数据查询,耗时2-3分钟。 执行select count(*) from npd; 数据库直接卡死。 如果库表先建立好索引,再导数据,则随着时间的增加,数据入库越来越慢。 到了八百万数据不到样子,两千条数据入库好几分钟。而且此时的数据索引文件有1G多。

  • 相关阅读:
    JVM 参数(转)
    redis 事务
    redis 命令
    Redis配置文件参数说明(转)
    zookeeper原理(转)
    数字证书原理 转载
    证书 签名 验签 实例
    SSL双向认证java实现 (转)
    详细介绍Java垃圾回收机制 转载
    Java Socket重要参数讲解 (转载)
  • 原文地址:https://www.cnblogs.com/uniqid/p/5693255.html
Copyright © 2011-2022 走看看