sql - 性能不佳的 SQL 语句
问题描述
我正在尝试在 Excel VBA 项目中使用 SQL 语句来根据特定的 SQL 语句获取表条目的数量。然后将返回值(整数)存储在一个数组中。目前,一条语句需要将近 1 秒的时间来执行。由于我有超过 10000 个这样的查询,我想提高性能:
我的主子
Dim x As Integer: x = 0
For i = 0 To 10000
x = RunSQLQuery(mySQLQuery)
Next
建立 SQL 连接的函数
Function SetSQLConnection(cn As Object) As Variant
'Connect to Workbook
Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";" & _
"Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
.Open
End With
End Function
借助 SQL 查询获取整数的函数(该函数中的“.Execute”是慢速部分)
Function RunSQLQuery(mySQLString) As Integer
Dim rs As Object
Set rs = sqlObject.Execute(mySQLString)
RunSQLQuery = rs(0)
End Function
解决方案
推荐阅读
- python - Maya python获得最顶级的父变换
- azure - 在 Azure Kubernetes 集群中运行 SQLite
- javascript - 如何将图像数据响应转换为 Image base64?
- java - 在 Java 中测试 upsert 方法期间出现 NullPointer 异常
- python - Python:查找包含通配符的字符串中是否存在子字符串
- python - 使用预训练的 CNN 提取的图像字幕生成器特征作为 CNN(数据天才项目)的新特征?
- reactjs - 获取 Axios 响应数据 React
- windows - 如何使用 5.0 蓝牙适配器将 esp32 蓝牙与 Windows 10 连接?
- firebase - 如何使用 datetimepicker 计算年龄?
- r - 使用 R 对数据子集和完整数据执行功能