一个巨大的表,如何快速的打开?(60分)

  • 主题发起人 主题发起人 zhangrunjie
  • 开始时间 开始时间
Z

zhangrunjie

Unregistered / Unconfirmed
GUEST, unregistred user!
现在我又一个巨大的表,估计有15万条纪录。
操作会经常的调用这个表中的某条纪录,进行添加、删除、更新操作。

用TTable打开好像太慢了,如何操作,或者使用什么控件会快一点?
 
編輯時不需要一下子全拉到客戶端來﹐ClientDataset有設定的一次取几十筆
象書上講的那樣﹐用一個Query做中轉﹐在應用服務器上搜索﹐我一直這么做﹐
因為我的Table也很大,都是上万條

 
用Tquery
sql: select * from tablename
queryname.open;
queryname.first;
或其他
sql: delete from tablename where field1=***
 
用一个巨大的计算机来打开。
:)
 
这种表你还敢用TTable打开?简直是找死!这么大的表,不光是打开慢,添加、删除、更新
都慢,你不能用象小型数据库的方法来处理它。
你只能用QUERY查找你需要的一些数据。
 
使用多层结构,在ClientDataSet中设定每次读取的记录数,具体可参考李维写的书籍
 
建议用三层结构了,否则就用Query每次取出你所想要那一部分数据(WHERE...)
 
你要是用BDE的话,记住不管用table还是query(非ADO的),不要在对整个数据库打开的
时候进行遍历,就是说不要让数据指针指到数据表的末尾,例如:取当前数据表纪录的
操作RecordCount,而且尽量把DBGrid的高度设的小一些,因为BDE是按分页显示的。
 
就是,自己写SQL吧
 
多人接受答案了。
 

Similar threads

回复
0
查看
816
不得闲
S
回复
0
查看
850
SUNSTONE的Delphi笔记
S
S
回复
0
查看
782
SUNSTONE的Delphi笔记
S
后退
顶部