关于数据库的速度问题,请各位提些好的建议 ( 200分答谢! ),急!!!! (200分)

  • 主题发起人 主题发起人 lsan78
  • 开始时间 开始时间
L

lsan78

Unregistered / Unconfirmed
GUEST, unregistred user!
本公司的网络是这样的:
三个分公司,用DDN连接,A---B之间速度为128K,A---C之间为64K。A、B、C都装的是NOVELL
现在我写了一个数据库程序:DELPHI5+ADO+ACCESS2000,数据库放在A,数据大约为3万条左右
现在在B和C运行此程序速度非常慢,拜托各位大虾,帮小弟出出主意,急用!
 
改成oracle 数据库
 
我想问的是在现有的环境下,能不能通过修改程序的途径将速度提高到可以接受的程度
 
请大家出手相助
 
难! 对于文件型数据库,在网速受限制的情况下,记录越多,速度越慢,
简单的修改程序不能解决根本问题,换数据库吧! 要不 把C/S结构的改成三层试试?
 
如果用SQL SERVER做后台,速度会不会有很大的提高?
 
应该会有很大提高的!至少要比ACCESS2000强,至于能快多少,这与系统设计有关。
 
换数据库会好很多,改成三层结构.
 
但是我不会三层结构
 
请大家提供一些数据库优化的方法
 
在目前你使用access的阶段,数据库优化不外是:建索引,表结构是否合理,之类,
如果换成mssql由优化数据库方面可以想办法了.
 
为什么不用B/S结构
 
Access一个表中记录超过1万条性能完蛋了,更何况C/s结构?先在A端装上Sql Server
性能肯定不一样了(多人使用)
如果还用Access,最好多建立索引提高查询速度
 
你的表结构是否合理,是不是都有索引,是不是都有主键
看看数据结构怎么样?
实在不行,你就把数据都倒入sql server中,看看
速度肯定很快
 
换了Sql Server/oracle也不行!
关键是你怎么处理业务!
 
to flysand:
能告诉我一些具体做法吗?小弟初次做这样的东西
 
C/S一般适合局域网,你的三个分公司是否在一个网内,如果不是,可以用虚拟网的方法
把它作成在一个网内,好象叫V-LAN吧,但我没实际作过。。。

要不就改变成三层,但这个工作量可不小。。。
 
文件型的数据库肯定是没办法的!
因为它无论是查询还是做什么事,都要先把数据读过来然后处理完再倒回去。
而B/S型就不一样了,客户端只要发送命令,服务器端会把结果回传,不用
把数据读过来处理,所以要改善速度的话,可能要把A机换成SQL或Oracle
 
如果就保持现在的架构,想只通过修改程序来优化性能,这边有几个建议:
1。尽量减少每次载到客户端的数据量,如按页或按每次100条数据,这可通过过滤或ADO的分页功能
2。考虑建立数据连接的缓存机制
3。客户端数据集可采用缓冲策略,这可通过设置每个数据集的CacheSize大小来实现
Good Luck.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部