关于提高数据读取速度的问题,请大家指教!

gbhsky 2008-04-11 09:24:28
我的软件每10分钟读取一次数据并写人access数据库。当数据库数据很多后,在界面上显示较长时间段的数据列表时就会很慢。请问该怎么解决呢?改用别的数据库还是有什么别的好办法?请大家不吝赐教
...全文
120 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
lz要干嘛?
S_Slan 2008-04-22
  • 打赏
  • 举报
回复
分批取数据
blazingfire 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 unsigned 的回复:]
引用楼主 gbhsky 的帖子:
我的软件每10分钟读取一次数据并写人access数据库。当数据库数据很多后,在界面上显示较长时间段的数据列表时就会很慢。请问该怎么解决呢?改用别的数据库还是有什么别的好办法?请大家不吝赐教

当你的数据量超过五千条记录之后建议改用别的中大型数据库代替。
[/Quote]
如果是没头没脑的读数据、存储数据,同样的数据量Access比SQLServer要快!
我以前做的产品数据就是用Access来存数据量达到了10W笔,程序也还可以。
还有一点,如果是查询Access时SQL用到Where语句,那么Where语句中对应的字段要有选择的加上索引,这样速度也会快
僵哥 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 gbhsky 的帖子:]
我的软件每10分钟读取一次数据并写人access数据库。当数据库数据很多后,在界面上显示较长时间段的数据列表时就会很慢。请问该怎么解决呢?改用别的数据库还是有什么别的好办法?请大家不吝赐教
[/Quote]
当你的数据量超过五千条记录之后建议改用别的中大型数据库代替。
xingyongjian 2008-04-22
  • 打赏
  • 举报
回复
1.分页显示数据吧
2.尽量避免数据重新导入
mengmengy 2008-04-21
  • 打赏
  • 举报
回复
显示数据根本就没有必要显示很多啊,100条还不够看的吗?给个排序,top 100条
表的数据多了以后,要设置索引,这样可以成几何级数提高数据的访问速度。
blazingfire 2008-04-19
  • 打赏
  • 举报
回复
ADO在读取access数据库是
ADO的DataSet一定要设 CursorLocation := clUseServer;
阿三 2008-04-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 AOM 的回复:]
写入数据可以使用现程,即使VCL是线程非安全级别的,也可以在线程中使用VCL,自行做好同步即可,至于调取数据很慢的事情可以通过分页的方式来实现。
[/Quote]
gbhsky 2008-04-12
  • 打赏
  • 举报
回复
是不是可以只显示当前行数的数据,并预先载入下边一定行数的数据,这样随着滚动条向下拉不停的显示和预装载?
pengxuan 2008-04-12
  • 打赏
  • 举报
回复
分页显示数据吧
疯狂低调 2008-04-12
  • 打赏
  • 举报
回复
写入数据可以使用现程,即使VCL是线程非安全级别的,也可以在线程中使用VCL,自行做好同步即可,至于调取数据很慢的事情可以通过分页的方式来实现。
gbhsky 2008-04-12
  • 打赏
  • 举报
回复
不是那个意思。是我没说清楚。我是说当数据库非常大以后,我从数据库里读取数据并显示到界面上,如果一次要显示非常多的数据量,就会速度很慢,窗口一段时间死在那里。你是说往界面上写入时用线程吗?但是线程还是要引用VCL控件啊,我想窗口还是会死
天行归来 2008-04-11
  • 打赏
  • 举报
回复
采用线程写入,注界面就不会被拖住,另外,数据写入时,采用批量写入。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧