我在Excel中使用ADODB连接连接到oracle数据库。当我在SQL开发人员中运行查询时,它运行大约8秒(这是45 000条记录的完整结果)。当我在Excel vba中运行相同的地震时,需要很长时间,大约20分钟。为什么Excel需要这么长时间?
以下是我的代码示例
Set rs = New ADODB.Recordset
Set con = New ADODB.Connection
con.CursorLocation = adUseClient
con.Open "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=JASONPC)(PORT=1521)))(CONNECT_DATA=(SID=jasonpc)));User Id=jason;Password=jason;DeferUpdChk=true"
rs.CursorType = ADODB.adOpenStatic
rs.LockType = adLockOptimistic
rs.Open sql, con
Set rs.ActiveConnection = Nothing
con.Close
Set con = Nothing
答案 0 :(得分:0)
如果执行完整的45K记录,则会降低执行速度或挂起Excel。所以从5K查询
运行它前10k然后下一个10k依旧在查询中使用行数...
因此您需要根据该查询修改您的