补充:插入数据我是用的ADOQuery.Add('insert into ...'); 是否用赋值就会快点?
是sql server数据库吗? 如果是sql数据库,为什么不用数据库链接定时更新呢?
楼上说的用触发器,大概怎么做?本人刚转delphi,很菜中
补充:插入数据我是用的ADOQuery.Add('insert into ...'); 是否用赋值就会快点? ======================================================== 你这是最差的方法。一定要用参数SQL的方式。
w我是用的参数啊ADOQuery.Add('insert into ...'+ado.fieldbyname('').asstring);
1.触发器 2.数据库表同步 3.语句实现 Insert 库2.dbo.table1 select * from 库1.dbo.table1 用一条语句解决,形成一个事务,比较快!
Insert 库2.dbo.table1 select * from 库1.dbo.table1 ??是不是直接把表导进表里,可能我没说明白 现在库1的表中包括有库2中的部分数据,也有不是库2的数据,现在要实现库2中的数据必须在库1中有
增量同步用触发器,看一下SQL Server的帮助就可以了。 CREATE TRIGGER
不会用触发器的话可以用存储过程啊,在DELPHI里用循环一条条记录上传那肯定慢了
樓主可以從這幾個角度去考慮: 1.不要每增加一條都啟動一個事務,而是在一所有增加在一個事務中進行,這樣會提高一些速度。 2.你insert前可能是先去數據庫select了一下數據是否有存在,這個過程完全可以利用 insert into (...) values (...) where not exist (select ...)代替。
看你循环算法是否可以优化!
如果是定位插入的话,可以采用locate进行快速定位,从而节省时间。
是否用赋值就会快点?
如果是sql数据库,为什么不用数据库链接定时更新呢?
是否用赋值就会快点?
========================================================
你这是最差的方法。一定要用参数SQL的方式。
2.数据库表同步
3.语句实现
Insert 库2.dbo.table1 select * from 库1.dbo.table1
用一条语句解决,形成一个事务,比较快!
??是不是直接把表导进表里,可能我没说明白
现在库1的表中包括有库2中的部分数据,也有不是库2的数据,现在要实现库2中的数据必须在库1中有
1.不要每增加一條都啟動一個事務,而是在一所有增加在一個事務中進行,這樣會提高一些速度。
2.你insert前可能是先去數據庫select了一下數據是否有存在,這個過程完全可以利用
insert into (...) values (...) where not exist (select ...)代替。