首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

打开表后,首次指向最后一条纪录耗时巨久!这是为什么?解决思路

2012-04-12 
打开表后,首次指向最后一条纪录耗时巨久!这是为什么?用的是bde的数据控件(TQuery)单使用‘select*fromtable

打开表后,首次指向最后一条纪录耗时巨久!这是为什么?
用的是bde   的数据控件   (TQuery)
单使用‘select   *   from   table   where   id   >   0   order   by   id’打开一个
数据量在20w左右的数据表时,大概用3-4秒,郁闷的是,如果我紧接
着用qry-〉Last()去定位它最后一条纪录时却需要20秒甚至更久。
有没有什么办法可以克服???
就剩下10分了,郁闷

[解决办法]
一次打开20W的数据不太实际吧,即使要看记录数也没必要直接开启整张表
根据条件来打开应该更有效率
如果要查看最后一条记录,可根据编号获得一个编号最大值的记录
数据库要提高性能可以用集群,20W不算多
[解决办法]
可以用‘select top 1 * from table where id > 0 order by id desc’来取得最后一条纪录,
这样的速度很快
[解决办法]
ID设为 索引

我的400万条记录 打开需要不到一秒呀(500 毫秒左右)
[解决办法]
有索引速度就会快很多了!
[解决办法]
ID是什么,是自增字段吗?

当数据量大的时候,不要在没有索引的字段上使用 Order by

热点排行