代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
JS
】
nodejs插入大量记录到mysql中
作者:
赫龙
/ 发布于
2014/9/10
/
321
在node中获取到一个对象数组,可能包含几万个对象,以下是将数据写到文件,再使用load data in file方式进行处理的效率测试, 但是在进行20w数据测试时,文件大小才15M,文件的写操作用了779933ms,求优化方式
var mysqlpool=require('../modules/mysqlpool')(); var SimpleQuene=require('../modules/SimpleQuene'); var hash=require('../modules/hash'); var moment=require('moment'); var fs=require('fs'); var tempfilepath='E:/1.txt'; var limit=200000; var queue=new SimpleQuene(limit); var nowTime=moment().format('YYYY-MM-DD h:mm:ss'); console.time('init data'); for (var i =0;i<limit;i++){ url='http://www.baidu.com'+i; urlhash=hash.fnv1a(url); queue.in({ url:url, hash:urlhash, title:'标题是什么'+i, time:nowTime }); } console.timeEnd('init data'); writeDate(); function writeDate(){ console.time('fs'); var writer=fs.createWriteStream(tempfilepath); while(!queue.isEmpty()){ var temp=queue.out(); writer.write(temp.url+','+temp.hash+','+(temp.title || '""')+','+(temp.time || '""')+"\n"); }; writer.end(function(){ console.timeEnd('fs'); save(); }); } function save(){ console.time('sql'); var sql="load data infile '"+tempfilepath+"' replace into table spider_page FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (url,urlhash,title,time)" ; mysqlpool.query(sql,function(err,result){ console.timeEnd('sql'); console.log(result.affectedRows+' rows have been insert'); }); }
试试其它关键字
同语言下
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
可能有用的
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
赫龙
贡献的其它代码
(
2
)
.
nodejs插入大量记录到mysql中
.
摇一摇
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3