ADO 数据操作 一些不为人知的提速方法!

ADO 数据操作 一些不为人知的提速方法!

以下是我的一些常使用的方法,并且比较少人使用,贴出来与大家分享,希望大家有什么

好的方法也不要吝啬.本贴以后仍然会陆续更新

1. 在RecordSet 循环中的优化,

预先初始化 Fields 并不会带来代码的其他变化,很方便,而且在大的循环中 提速也很明显

Dim R As New ADODB.Recordset
Dim Flds As ADODB.Fields
Dim II As Long

'这里没有用 For Next 的循环方式
'因为 要获得 RecordCount 对于某些记录集不支持

R.Open "Select * from 表", Cn

'这里,预先初始化 Fields 对象
Set Flds = R.Fields
Do Until R.EOF = True
   
    '访问字段的每个元素
    For II = 0 To Flds.Count - 1
        Debug.Print Flds(II).Value
    Next
    R.MoveNext
Loop

2.速度最快的访问字段元素的做法

Flds(II).Value , 不要吝啬 .Value  ,能使用字段索引号就使用索引号

3. 提高 Find 查找得速度

使用 Find 必须配合索引,默认情况下,Find 没有使用到索引,是进行行扫描,速度当然巨慢

CursorLocation = adUseClient  '必须是客户端光标才能使用索引
关键初
打开记录集后
 Dim Fld As ADODB.Field
  Set Fld = rs.Fields("jobcode") '需要索引得字段
   Fld.Properties("Optimize") = True
再进行 Find ,你会发现速度有百倍得提升

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值