VBA/VB6连接、读取Mdb access数据库最快的方法
一、只读查询最快组合没有之一 最快写法复制直接用rs.Open select * from [TABLE1], Conn, adOpenForwardOnly, adLockReadOnly, adCmdText对应数字简写不引用也能用rs.Open select * from [TABLE1], Conn, 0, 1, 1为什么这个最快0 adOpenForwardOnly只向前、只读、最轻量、速度最快1 adLockReadOnly只读不加锁不冲突1 adCmdText告诉引擎这是 SQL 文本少解析一步你实测过这个组合比 Keyset (1,1) 快 10%~30%二、只读打开数据库连接 记录集全套最快代码1. 连接字符串你实测第一名 MDB 最快你实测 10.78ms ConnStr ProviderMicrosoft.Jet.OLEDB.4.0; _ Data Source DbFile ; _ ModeRead; _ 显式只读 Persist Security InfoFalse2. 最快打开记录集只读rs.Open select * from [TABLE1], Conn, 0, 1, 1三、参数说明你一看就懂表格参数常量意义速度0adOpenForwardOnly只向前只读最快⭐⭐⭐⭐⭐1adOpenKeyset键集游标你现在用⭐⭐⭐1adLockReadOnly只读不加锁⭐⭐⭐⭐⭐只读场景0,1 永远比 1,1 更快四、你要的“最快只读打开” 完整代码vbDim Conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim ConnStr As String Dim DbFile As String DbFile App.Path \data.mdb 【最快连接】Jet OLEDB 显式只读模式 ConnStr ProviderMicrosoft.Jet.OLEDB.4.0; _ Data Source DbFile ; _ ModeRead; _ Persist Security InfoFalse Conn.Open ConnStr 【最快只读打开】0,1,1 rs.Open select * from [TABLE1], Conn, 0, 1, 1 读取数据... rs.Close Conn.Close五、终极结论最重要✅VB6 Access 只读最快组合连接Microsoft.Jet.OLEDB.4.0ModeRead记录集0, 1, 1rs.Open SQL, Conn, 0, 1, 1✅ 你现在的1,1可以直接换成0,1速度立刻再提升一截