现在一个数据库里面有9万条信息 另外一个数据库有6万个信息 我要找出这2个数据库有差别的3万多 要怎么做?

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:19:55
现在一个数据库里面有9万条信息 另外一个数据库有6万个信息 我要找出这2个数据库有差别的3万多 要怎么做?
SQL的数据库
要高效的解决办法。写什么函数?我不会 比较数据库里面两个表里面相同的信息 把不同的信息单独找出来了 形成一张表
where编号?那样检索一条一条对比?数据量很大。。。上千万条

即使你遍历检索:9W×6W=54亿,一般的电脑一秒计算20亿次(2G赫兹)。也不可能说电脑要很长时间的问题,至于要找优化检索,也是可以的。
下面是摘的别人检索数据库的,没算法优化
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 '必须是客户端光标才能使用索引
关键初