转至繁体中文版     | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 笑话频道 | 教程频道 | 会员中心 | 雁过留声 | 
最新公告:     "MinTao学以致用网"欢迎您的光临,你的支持便是我们的动力,欢迎广大网友和各界人士亲临指导,你们的一个小小的建议便是我们发展的开路石!  [MinTao  2007年9月5日]        
您现在的位置: MinTao学以致用网 >> 文章中心 >> 电子课堂 >> 数据库 >> Sql Server >> 文章正文
专题栏目
更多内容
最新推荐 更多内容
相关文章
SQL语言快速入门之一
SQL语言快速入门之二
SQL语言快速入门之三(一
SQL7.0储存过程调试
通过HTTP访问SQL Server
SQL Server的存储过程调
SQL Server安全性简介
定制PB与SQL Anywhere的
全面接触SQL语法
SQL 语法参考手册
更多内容
sql语句连接数据插入与循环插入效率对比         
sql语句连接数据插入与循环插入效率对比
作者:egmax 文章来源:不详 点击数: 更新时间:2007-11-14 12:54:03
语言php

版本:php4.3

系统:winxp

以下是测试结果:

1.常规循环式插入 6万条数据 也就是循环6万次拉
<?php
$qqq="insert into csdata(zdmc,bmsj,dzmc,taa,mz,xb,nl,dh,mail,sfz)values(''''aaaaa'''',''''bbbbb'''',''''ccccc'''',''''ddddd'''',''''eeeee'''',''''fffff'''',''''ggggg'''',''''hhhhh'''',''''iiiii'''',''''jjjjj'''')";
?>
时间如下==============================================

起:1088145905m62502u
终:1088145933m651216u
588714

起:1088145958m15628u
终:1088145986m74278u
58650


起:1088146007m781253u
终:1088146035m285999u
-495254

起:1088146056m609378u
终:1088146084m360206u
-249172

起:1088146104m3u
终:1088146131m702599u
702596


起:1088146161m3u
终:1088146188m527752u
527749

起:1088146216m453127u
终:1088146244m290762u
-162365

起:1088146265m843754u
终:1088146293m469345u
-374409


起:1088146313m390627u
终:1088146341m234770u
-155857

起:1088146357m500002u
终:1088146385m27298u
-472704

平均用时 28秒+几百微秒 按28秒算






使用以上方法既连接的方式插入6万条
$que1="insert into csdata(zdmc,bmsj,dzmc,taa,mz,xb,nl,dh,mail,sfz)values(''''aaaaa'''',''''bbbbb'''',''''ccccc'''',''''ddddd'''',''''eeeee'''',''''fffff'''',''''ggggg'''',''''hhhhh'''',''''iiiii'''',''''jjjjj'''')";
$que2=",(''''aaaaa'''',''''bbbbb'''',''''ccccc'''',''''ddddd'''',''''eeeee'''',''''fffff'''',''''ggggg'''',''''hhhhh'''',''''iiiii'''',''''jjjjj'''')";
$qqq=$que1.$que2.$que2.$que2.$que2.$que2.$que2.$que2.$que2.$que2;
然后执行 $qqq 因为他是连接了10条数据 所以插入6万条数据 循环6000次就可拉

时间如下====================================
起:1088145498m312502u
终:1088145502m199752u
-112750

起:1088145549m640628u
终:1088145553m547200u
-93428

起:1088145574m750003u
终:1088145578m640656u
-109347

起:1088145599m859377u
终:1088145603m738007u
-121370

起:1088145626m484378u
终:1088145630m421268u
-63110


起:1088145657m734377u
终:1088145661m739197u
4820

起:1088145686m281253u
终:1088145690m205477u
-75776

起:1088145727m46878u
终:1088145730m963751u
916873

起:1088145751m968753u
终:1088145755m930542u
-38211

起:1088145779m828128u
终:1088145783m772599u
-55529


平均用时 3秒 + 几万微秒 按4秒算



因此 以上方式效率比循环插入高

因考虑的类的使用次数可能影响运行时间 又做类的循环实验






循环插入式调用类==============================

循环10次 平均每次插入用时 3134.1微秒
1088146914m125002u
1088146914m156343u
31341

循环100次 平均每次插入用时 700.51微秒
1088146962m218752u
1088146962m288803u
70051



循环1000次 平均每次插入用时 493.118微秒
1088147012m609377u
1088147012m1102495u
-506882

也就是说 循环次数越多 类站用的运行时间越短 1000次内最高效率 493.118秒




连接式插入数据调用类===================================

循环10次 平均每次插入用时 2908.8微秒
1088146504m640628u
1088146504m669716u
29088


循环100次 平均每次插入用时 949.73微秒
1088146547m359380u
1088146547m454353u
94973

循环1000次 平均每次插入用时 664.261 微秒
1088146588m234378u
1088146588m898639u
664261

1000次内最高效率 664.261微秒


因此 从调用类上看 循环越多 每次时间越短 并且用循环式插入 493.118微秒 比 连接式插入 664.261微秒 更节省时间


所以 走一样的路 循环式插入 受类的影响比连接式插入还小
而 总体用时竟然是 他的7倍 所以 连接式插入数据比循环类插入效率高至少7倍以上


通俗点就是
两个人跑千米赛 背100斤石头的人 比背80斤石头的人跑的还快
所以 这个人的效率比他高的多



不知道这样分析否合理 纯属爱好 有异议的尽管提

文章录入:mintao    责任编辑:mintao 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007 MinTao学以致用网(www.mintao.net) Inc All Rights Reserved.
    QQ:543098146有事请Q我! QQ:261561092有事请Q我 QQ:179647303有事请Q我 MSN:min906@126.com
    站长:MinTao 信息产业部ICP备案号:鄂ICP备07500065号

    学以致用是我们学习者的至高境界和不懈追求,[MinTao学以致用网]与大家共同学习,共同进步……
    信息产业部备案
    *鄂ICP备07500065号