转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
sql语句连接数据插入与循环插入效率对比         

sql语句连接数据插入与循环插入效率对比

作者:闵涛 文章来源:闵涛的学习笔记 点击数:873 更新时间: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斤石头的人跑的还快
所以 这个人的效率比他高的多



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


[办公软件]在sybase中插入图片、PDF、文本文件  [办公软件]安装Sybase ASE
[办公软件]linux指令大全(完整篇)  [办公软件]Linux新手入门常用命令大全
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法
[办公软件]Linux程序员必读:中文化与GB18030标准  [办公软件]linux指令大全
[办公软件]制作Linux启动盘的四种方法  [办公软件]Linux文件系统的反删除方法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

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

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

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

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台