_Array2D_Add执行效率太低怎么办
本帖最后由 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[$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 既然已经知道二维数组的第一维和第二维的大小了,为什么还要使用这类动态创建数组的方法?直接先创建好数组,再写数据试一试。
提醒一句,通用函数普遍效率不高,这很正常。 回复 2# skyfree
我测试 array2d_push更慢
追加还快点
页:
[1]