大容量数据库方案!(50分)

  • 主题发起人 主题发起人 kaif1
  • 开始时间 开始时间
K

kaif1

Unregistered / Unconfirmed
GUEST, unregistred user!
一般的数据库程序对记录数目的要求不高,
但数据一但上了一定数目,就不得不考虑
一下实施方案了。
俺想设计一个数据库,其规模也不是很大,
共约40张表,其中10种表有约20万记录,其它的
每张表约有5万条记录左右,而且要命的是这个
程序要求经常进行大量的复杂统计计算(表之间均有关联)。
俺曾用DBF, DB, Access,IB等测试结果不是很满意,
特别的,是统计的速度慢(机器为:CPU:PIII450, RAM: 128M,
HD: QT),请问各位高手,如果是这样的一个数据库
程序,应该怎样设计其数据呢?或者说该怎样提高计算速度?

当然,设计数据库的三原则,小弟已择情使用过了。

M$的Accsss2000居然在这种情况下,对一个108M的mdb排序会告知
内存不足!!!
 
首先装NT Microsoft Sql Server 7.0
其次我个人觉得可以考虑适当冗余,不必过分追求范式
特别是经常关联的表的运算
还有,我觉得 建索引很需要一些技巧 ,对于那些频繁使用的
字段建索引,效果比较明显
用delphi的时候,不要使用table控件,复杂的计算尽量放在
服务器上用存储过程做,你个人认为就你的数据量而言
你的机器不差了 当然如果再加些内存,效果可能就更好了

 
1。ORACLE +10000转的硬盘(关键是硬盘,我的Pii 350+5400还比不上CY166+7200)
2。去掉统计表所有的关联,增加冗余字段

 
小弟曾这样试过:采用Visual FoxPRO为测试的开发语言,发现一个很难以解释的解释
的现象:如此规模的数据库,Visual FoxPRO的语句执行得非常之快——简直有点不可
思议——远比SQL Server, ORACLE, IB, Access快,至少快了3-4倍!

但FoxPRO也有不足:

1、联网功能不佳;
2、程序的编写没有那么严格的语法检测,系统功能上大大不如Delphi,C++等。
3、程序可以轻易被反编绎。

但小弟有个疑问:大型数据库的需求是很大的,比如,公路的收费系统、公安的
人口管理系统、高考分数分析系统等,它们怎么办?难到也用FoxPRO不成?没有一种
方案可供Delphi/C++/VB/PowerBuilder等来高速实现——但至少也和VF速度一样呀。

还有一点:我国很快就要加入WTO,版权也是一个大问题:SQL Server, IB, Oracle
等软件——客房总不能都用盗版的吧,动不动就用这些,是否会使造价过高?很多公司开
始采用Access数据库恐怕就在点看重它不需要License——当然每台微机都有合法安装Windows
及Office或者只有Windows和Access的驱动程序。

而若都用VF解决束手束脚不讲,单单是联网问题,版权保护(防反编绎)就够头痛了。

各位同行高手们,难到Delphi的速度真的会输给VF吗?
Delphi/C++/VB该怎么办?
 
FOXPRO 基于文件型的数据库,不是真正的RDBMS无法处理事务,
正因为如此它的速度是别的数据库无法比拟的。
FOXPRO开发单机版还行,网络版(无法解决多用户,事务,数据完锗性)
 
数据库只是作为纪录数据的仓库!如果需要进行计算与处理的话,最好是在内存中,少许加
点临时文件在里头,这样才能提高运行效率!
你见哪个仓库是在房屋内处理整理货物的(如粮食的晾晒)?!
 
>>怎样提高计算速度?

在程序中,涉及查询之类,一定用线程,不然,够你等的.
 
arm老兄:VF6是有事务处理功能的。

另:dedman老兄,可否给俺一个使用多线程SQL查询的源代码示例...
 
i've sended it to u.
 
后退
顶部