数据库A 数据库B现在A中表TA中有10万条记录,需要写入到或者更新到B中的表TB中--------------------
我现在在B中写了个存储过程(没有使用触发器,因为触发器的灵敏度太高了)在程序调用这个过程P
原本的设计是这样的:在程序中:
rs->open(..);
while(!rs->adEOF)
{
1、取出一条记录
2、调用存储过程P (存储过程的实现时:p判断B中TB中是否存在,存在则更新,不存在则写入B中TB)
3、循环下一条记录
}---------------但是上面更新的速度太慢了,我计算了下,1万多条记录完全更新一次,需要1分半到3分钟之间------------------
现在,我想能不能代码中的循环都放到存储过程中,我想应该比一条一条的处理要快点吧但是,在存储过程中,写入循环,我试着写了下,
while(select * from TA)
{
1、判断
2、写入
3、下一条
}
我现在在B中写了个存储过程(没有使用触发器,因为触发器的灵敏度太高了)在程序调用这个过程P
原本的设计是这样的:在程序中:
rs->open(..);
while(!rs->adEOF)
{
1、取出一条记录
2、调用存储过程P (存储过程的实现时:p判断B中TB中是否存在,存在则更新,不存在则写入B中TB)
3、循环下一条记录
}---------------但是上面更新的速度太慢了,我计算了下,1万多条记录完全更新一次,需要1分半到3分钟之间------------------
现在,我想能不能代码中的循环都放到存储过程中,我想应该比一条一条的处理要快点吧但是,在存储过程中,写入循环,我试着写了下,
while(select * from TA)
{
1、判断
2、写入
3、下一条
}
解决方案 »
- 调用PlaySound函数的发音问题
- CEdit 回车响应的问题(PreTranslateMessage),知道的进来!
- CDC 资源释放的问题
- StretchDIBits 绘图的问题~
- 菜鸟问题,小弟网接触网络 做了一个简单的 socket API 聊天程序 不过好象有点问题
- 插件可困惑!
- CFile类使用的一个问题
- 懒人求能改变某些行背景色、不同行不同色的类似于CEdit的控件
- 有谁知道installshield的各个版本(proferssional/express/stand/for VC...)区别?
- 如何将MDI的多个子窗口纵向排列?
- 计算机图形学发展前景
- 如何对树形控件前面的选择框进行操作?
但是游标也有效率问题;根据你的描述,一个insert into ... select ... where; 和一个 update ... from ... where ...应该就可以搞定
用不着这么复杂