FireBird 1.5alpha(From InterBase 6.0 OpenSource)发布,支持更多的sql特性。(0分)

  • 主题发起人 主题发起人 三代坦克
  • 开始时间 开始时间

三代坦克

Unregistered / Unconfirmed
GUEST, unregistred user!
节选我认为比较有用的功能上的改进:

1.在procdure /trigger 中增加了 case 语句。类似 sql server sql.
2.在procdure /trigger 支持 execute 变量,类似 sql server sql.可以动态
组sql 语句了。 (有限制,不能使用select)
3.支持RECREATE VIEW name <view_definition>;
4.CREATE OR ALTER name <object_definition>; 类似Oracle ,做数据库升级
不用再为判断是否有这个存储过程烦恼了。
5.Allow to GROUP BY internal functions and subqueries
6.New COALESCE internal function 类似oracle NVL
7.Allow one trigger to be fired for a number of action types 有比没有好。
8:Server-side database aliases 象大型数据库一样,
不再让用户看到绝对路径,在安全性上很实用的功能。
9:New ROWS_AFFECTED system variable (SF #451927).
Return number of rows affected by the last INSERT/UPDATE/DELETE statement.
方便多了,虽然只能在procedure中使用。
10:Dynamic exception messages 可以动态组织错误信息,很好,和11相配使用更好。
11:New SQLCODE and GDSCODE system variables (SF #547383).
Provide an access to a code of the catched error within the WHEN-block
12:Exception re-initiate semantics
另外,改了据说很多bug.还有就是代码改用C++(不知道gpre是否也能处理C++?,还有效率是否下降).


总体来说,FB如果能够保持IB易维护的特性,新增加的功能都是我们希望见到的。
应用于小型的,低成本的,免维护的MIS系统。FB具有明显的优势。mysql,postgreSQL
的易维护性差些。
另外,FB把文件名也改了,注册表项也改了,看来同IB区别越来越大。我觉得
使用InterBase的可以向FB靠拢了。再不靠拢,以后兼容性问题就不好解决了。

欢迎感兴趣的同我讨论:sandaitanke@sina.com

 
你好! 我現在也在做一系統, 其數據庫也用的是FireBird, 不過我沒有感覺到它的優勢,
請問你能否你的感受嗎?
 
我所说的下面都是指在小型应用的前提下,请注意:
我一直用IB,FB在Linux平台使用,到FB1.0时,我认为同IB6.0没有什么区别。
我最看重的是维护性和效率,我用delphi 5 +IBX +IB6 OPEN +PII 350 + REDHAT6.2 同
VB6 + ADO + MS SQL 7 +PII450 + WINNT 4 对比,同样的数据结构,同样的数据,同样的软件逻辑。
前一组合明显感觉快许多。最大的表有大约60万记录。主要操作的表有5万,8万记录,
经常inner join.

我认为最大的优势就是在构建C/S结构时,几乎是0维护的RDMBS。这一点IB和FB一样。
在基于windows平台的小型低成本的,免维护的MIS系统时
选择Access存在多用户的问题。MS SQL SERVER存在 费用 和 维护性差的问题(有点牛刀的感觉),

mysql 和postgreSQL都存在win32平台的维护问题。
另外,同mysql比较,FB的目前支持的sql特性还是比较全的。当然,mysql 3. 以后
的版本对事务等等也支持了,但目前还是FB更象RDBMS.mysql的路还有一段。虽然mysql
的前景是很不错的。
postgreSQL在美国应该是很受欢迎的,而且资料介绍说更贴近商业RDBMS,无论是性能,功能
以及对sQL 92标准的支持。使用它的唯一障碍是资料比较少。维护性同FB/IB相比差好多。

FB/IB的存储过程功能太弱。

另外,to wm1010 你没有感觉到FB的优势,你为什么选择FB?

 
公司老板要這麼做, 我也沒辦法. 所以我遇到的問題不知FB的問題還是我對FB的了解問題,
我在處理Float類型時, 它經常會出現:
在保存Float類型數據時出現如: 1.2在保存到資料庫中卻變成了1.20000004768372.也不
知在什麼地方設定什麼, 總之就是要在程序中設定才可以, 還有在Sql語句中好像它支持
降序排列(Order By Desc)等, 有好多在SQL2000中沒有問題, 但在FB卻有問題, 也
不知為何? 你有沒有遇到這樣的問題呀?
 
wm1010:你保存的FLOAT是运算结果吧,浮点运算当然有误差,你得自己四舍五入或不用float
三代坦克:
IB6.0和FB 1.0哪个稳定性更好,还是差不多?
FB在linux下的稳定性如何,与SQL SERVER想比如何?
 
任何一个rdbms 处理float都会有wm1010说的问题。

to zhtx:
我没有测试过,我凭感觉说吧。borland open source 的IB6 和FB 相比,
肯定是FB1.0要更稳定些。改了些bug.
FB目前的维护人员实际上是从InterBase.com出来的。
还有,IB 认证版我想还是会比FB要稳定写。感觉和推测而已。无任何依据。
borland并没有把interbase 的全部完全 open source 加强了我这种认识。

我在linux下IB 和FB都用过,觉得半斤八两。都还算稳定。但是,如果select 结果集
太大,innerjoin 连接过多(10几张表,每个表几万记录-几十万),IB/FBserver 会down掉。
这是破坏性测试结果,正常应用不会这么大的。

我不认为在功能上IB/FB 和 SQL SERVER有可比性。不在一个应用级别上。
如果是比较关键的业务,我想sql server 也是不可以信任的。对于一般的应用,
IB/FB的稳定性足够了。

一句话,够用就好。
 
to zhtx: 不是這樣呀, 當我輸入一個Float 類型的數時, 就有問題, 顯示出來的就是
1.2變成了1.20000004768372. 你沒有遇到嗎?
 
to wm1010
你说说看,那些在sql server 中没有问题的在IB中有问题?
还有连接方式很重要。你的application是用哪种方式连接ib &amp;sql server?
 
三代坦克 你还咬定IB/FB不松口啊,哈哈
 
float类型的问题是存在,只能根据你的系统的要求Field的DisplayFormat。
或改成Numeric类型,再设置你所需要的精度
 
wm1010:这我就不知道了,我没遇到过.
三代坦克:谢谢您的答复,再请教一个问题:如果我弄台服务器,双CPU,1G内存,装LINUX,
运行FB应该跑的飞快吧,FB还需要优化什么参数,才能充分利用硬件?
 
to zhtx:
非常不幸的消息:无论是IB,FB目前都不支持SMP。
而且在IB6.5/FB1.0以前版本,反而由于多CPU切换会造成
IB性能下降很厉害。
不过,从IB6.5/Fb1.0开始,支持把IB/FB绑定到一个CPU上。
性能是不下降了,但是还是不能利用smp的性能。所以,如果
你的smp server只是用来跑IB/FB的话,双CPU并不能比single cpu
快多少。这是IB/FB的一个缺陷。
你可以到FB的老家去找找那个如何优化FB的文章。


to:吴下阿蒙, 我咬住一个就不放,呵呵。
oracle sybase ms sqlserver ib mysql
我都在产品中应用过。应用规模大小重要性不同,
用不同的工具而已。access如果在单机版本上也用过。
还是那句话,市场驱动。然后才是技术。



 
问一下,DB2为什么用的人少(偶也没用),
而oracle用得多(oracle除了数据库好,其他工具不敢恭维啊)?
 
DB2 我也没用过,装过玩。我觉得主要是市场定位问题。
金字塔形的。DB2主要在高端,自然用的人少。
oracle 用的人多是因为很多人有跟风的爱好。
一个只需要MS SQL server 的应用,也要Oracle UNIX来实现,来体现自己的
技术含量高。现实中有很多人有这个误区,总以为用了一个先进的工具就是
自己的技术含量高了。就是自己的水平高了。这主要是因为目前的客户心理
还不成熟,相关技术知道得太少的原因,还有就是一些自以为很懂的把持着
单位内部技术评定的位置。




 
讨论结束,有问题mail me :sandaitanke@sina.com
 
接受答案了.
 
后退
顶部