开发环境 D6+prardox控件用的BDE标签下的TQuery问题在这里,我的表 picture.db 里面只有2个字段 id和picture,类型分别是 I 和B,其中I是主键
,表里面有10000条数据,picture.mb的大小是 600MB,我只是运行一条简单的命令,所有的id+1, query1.close;
query1.sql.clear;
query1.sql.add('update picture set id = id + 1');
query1.execsql;但是问题来了,这个生成的临时文件达到了400+MB,而且运行过程中,我的程序直接死机状态,就是执行的过程非常非常地慢这个表,我可能要随机插入很多的纪录,插入记录后面的记录的id号都要自动+1的,如果都是这种执行速率,那我的程序就崩溃了请问这个问题怎么解决哦?
,表里面有10000条数据,picture.mb的大小是 600MB,我只是运行一条简单的命令,所有的id+1, query1.close;
query1.sql.clear;
query1.sql.add('update picture set id = id + 1');
query1.execsql;但是问题来了,这个生成的临时文件达到了400+MB,而且运行过程中,我的程序直接死机状态,就是执行的过程非常非常地慢这个表,我可能要随机插入很多的纪录,插入记录后面的记录的id号都要自动+1的,如果都是这种执行速率,那我的程序就崩溃了请问这个问题怎么解决哦?
原来上面载入一次速度快都是错觉,那是因为我的图片数据都被损坏或不见了update picture set id = id + 1 之后,只有id[1..16]的数据有图像,其他的都报错 JpegError #41,就是没有图像或者图像数据不对,我说怎么都小于500ms了呢这个paradox,郁闷死了。。
Query1.close;
Query1.sql.clear;
Query1.sql.add('update Picture set id = id'); //只是为了测试一下update操作
Query1.ExecSql;
执行完操作后,只有 1~16条记录可以查看到图片,其他则全都是 JpegError #41 ,应该是其他的数据遭到了破坏,不知道这样说对不对大家还有什么高招嘛??