我想确定更改我的查询所产生的效果。要做到这一点,我需要一些性能指标。是否可以确定MS Access中查询的执行时间?使用外部程序或更改注册表(SHOWJETPLAN)不是一种选择,因为我的工作站真的被网络管理员锁定了...所以我需要一个in-Access解决方案。谢谢!如何确定ms access 2007中的查询执行时间?
1
A
回答
1
我有一个快速和肮脏的方法,我使用用于评估的替代算法相对性能,是他们不同的功能,查询等
我利用Access.Application对象的Run
命令。它使我能够快速比较2,3,4等不同的方法。对于每个额外的方法,我只是创建另一个函数名为ThingX
。
然后,我使用迭代次数来解决GetTickCount
约10毫秒精度的限制。如果你想要比GetTickCount
更高的分辨率,你可以使用像QueryPerformanceCounter这样的高分辨率定时器。就个人而言,我认为这不值得所有额外的工作。如果您在VBA中编写性能至关重要的代码,并且担心会缩短执行时间的微妙时间,那么您将使用错误的工具(VBA)进行工作。
Private Declare Function GetTickCount Lib "kernel32"() As Long
Sub TimeThings() 'vv
Const NumThings = 2
Const Iterations = 2500
Dim t As Integer, i As Integer, s As Long
For t = 1 To NumThings
s = GetTickCount
For i = 1 To Iterations
'Debug.Print Run("Thing" & t, i)
Run "Thing" & t, i
Next i
Debug.Print "Thing "; t, GetTickCount - s; " ms elapsed"
Next t
End Sub
Function Thing1(Optional Val)
Dim i
For i = 1 To Val
Thing1 = Thing1 & Chr(65 + (i Mod 57))
Next i
End Function
Function Thing2(Optional Val)
Dim i
Thing2 = Space(Val)
For i = 1 To Val
Mid(Thing2, i) = Chr(65 + (i Mod 57))
Next i
End Function
在我的系统,运行TimeThings()产生以下的输出:
Thing 1 4087 ms elapsed
Thing 2 2652 ms elapsed
相关问题
- 1. MS Access 2007:计数查询
- 2. MS Access 2007中插入查询执行失败
- 3. MS Access查询时间
- 4. 我如何使用MS Access 2007更改MS Access 97文件的查询
- 5. MS Access 2007疑难问题SQL查询
- 6. MS Access 2007附加查询问题
- 7. MS Access 2007年:日期查询
- 8. MS Access查询时间字段,确定时间是否在范围之间
- 9. 如何在MS ACCESS 2007查询中使用LIMIT
- 10. 如何在MS Access 2007中嵌套这两个SQL查询?
- 11. MS Access查询 - 总周工作时间
- 12. Microsoft Access 2007中的自定义查询
- 13. 德尔福ADO与MS Access - 查询时间减少后,运行特定查询
- 14. 如何声明和在MS Access 2007查询
- 15. MS Access - 在查询中运行宏 - 时间转换
- 16. MS Access查询
- 17. MS ACCESS查询
- 18. MS Access 2007中查询到任何结果
- 19. MS Access 2007中的事件
- 20. 查询的MS Access
- 21. 进行查询,从特定时间间隔提取缺失的数字。 MS Access
- 22. MS Access 2007查询不会在SQL Server 2008上运行
- 23. 我如何使用MS-Access查询转换行中的MS Access列(选择statment)
- 24. MS Access 2003中的查询
- 25. Ms-access中的查询
- 26. Ms-access中的SQL查询
- 27. MS Access 2007 - 查询里面查询里面查询里面查询
- 28. 如何从C#Web服务执行Access 2007文件中的SQL查询
- 29. 在MS Access 2007中添加参数查询的默认值
- 30. 什么应该是在MS Access 2007中的查询