语言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斤石头的人跑的还快 所以 这个人的效率比他高的多
不知道这样分析否合理 纯属爱好 有异议的尽管提
|