找回密码
 加入
搜索
查看: 3243|回复: 2

[效率算法] _Array2D_Add执行效率太低怎么办

[复制链接]
发表于 2014-3-27 14:06:26 | 显示全部楼层 |阅读模式
本帖最后由 l4ever 于 2014-3-27 14:07 编辑

写了执行mysql的函数,测试了一下,2500条数据需要8秒才能跑完
去掉_Array2D_Add,把结果写到文本里面会快很多.最多两秒搞定.......
有什么更好的方法呢?

Func _MysqlQuery($sql,$type ="0")
Local $hTimer = TimerInit()
_Writelog("信息", "Mysql查询开始")
If Not _EzMySql_Query($sql) Then
                _Writelog("错误", "#" & @error & " 详情:" & _EzMySql_ErrMsg())
        Return
EndIf

$rows = _EzMySql_Rows()
$Cols = _EzMySql_Columns()
$ColName = _EzMySql_FetchNames()

if $type = 0 Then
        return $rows
Else
        Local $dataArr[1][$Cols]
        For $i= 1 To $rows
                $data = _EzMySql_FetchData()
                _Array2D_Add($dataArr, $data)                
        Next
        msgbox(32,"", "Mysql查询完毕,耗时:" & Round(TimerDiff($hTimer)/1000,2)& "秒")
        _Array2D_Delete($dataArr,0)
        return $dataArr
EndIf
EndFunc
发表于 2014-3-28 22:19:03 | 显示全部楼层
既然已经知道二维数组的第一维和第二维的大小了,为什么还要使用这类动态创建数组的方法?直接先创建好数组,再写数据试一试。

提醒一句,通用函数普遍效率不高,这很正常。
 楼主| 发表于 2014-4-1 00:08:03 | 显示全部楼层
回复 2# skyfree


我测试    array2d_push更慢
追加还快点
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 13:19 , Processed in 0.082016 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表