
写个定时器,定时将一年前的数据备份到线下数据库中,并删除线上数据库一年前的数据,或者用kettle写个数据抽取调度,异步部署,每天抽取当前时间减去365的那天数据,并删除源库该天数据。
1 连接到数据库,例如用
ADOConnection设置连接数据库,
新建一个ADOQuery
2新建表格, 例如 table2a:
ADOQuerysqltext := 'CREATE TABLE table2a
(
name varchar(20),
age INT
)';
ADOQueryopen;
ADOQueryclose;
3 加入数据表
ADOQuerysqltext := 'BULK INSERT table2a FROM 'c:\table2a_filetxt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)';
ADOQueryopen;
如果你的数据库是放在服务器供多人共享使用的,那么你的想法就不现实了,因为如果把recordset放到本地,那么当数据库发生变化时,就会发生数据不同步的情况,这时如果再往数据库写入数据就会乱套了。
你可以把connection和recordset都放入全局对象变量,这样在程序运行期间,记录集都不用反复关闭再打开,这样查询数据就会快很多了。代价就是本地内存消耗会比原来大一些。
以上就是关于数据库如何做到线上只保留一年,下线保留所有数据,每年进行把新增的数据保留到线下,线上继续清理全部的内容,包括:数据库如何做到线上只保留一年,下线保留所有数据,每年进行把新增的数据保留到线下,线上继续清理、delphi如何将明细表中的数据保存到数据库中、vb 6.0 如何让 recordset 的数据保存在本地等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)