锁定老帖子 主题:再次开刷IBM的垃圾
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-03-31
罪状之1:更改表结构超级麻烦 假设有以下一个表: create table t1(a int,b int c int,d int); 你希望删除b,c,d新增e,f alter table t1 drop column b; alter table t1 drop column c; alter table t1 drop column d; alter table t1 add e int; alter table t1 add f int; 这是一个再简单不过的表结构更改语句了,在DB2中一执行,到第4行居然就报错了,错误是: 引用 SQL20054N 所处的状态对该操作无效.原因码 23
查了http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.messages.sql.doc/doc/msql20054n.html?cp=SSEPGG_9.7.0%2F2-6-27-19-45&lang=zh-cn 才知道,DB2拥有一个如果恶心的限制: 引用 对表结构更改最多只能做3次,3次后必须要求你执行reorg命令!!! 也就是说,你必须在第3和第4句之间手工加入: alter table t1 drop column b; alter table t1 drop column c; alter table t1 drop column d; reorg table t1;/*这里要你手工插入*/ alter table t1 add e int; alter table t1 add f int; reorg table t1;/*为了防止后续的更改出错,全体变更完成后,你还要在这里手工插入*/ 这种完全可以由DB2自己内部去做的事情,居然要踢给用户手工去做,完全不顾使用者的感受,学院主义,官僚主义暴露无遗啊! 罪状之2:数据分页 mysql直接使用limit x,y 就可以实现分页了: select * from table limit 10,20 Oracle通过子查询实现分页: select * from (select rownum,name from table where rownum <=endIndex ) where rownum > startIndex 下面再来看看DB2的分页: select * from ( select ROW_NUMBER() OVER( ORDER BY DOC_UUID DESC ) AS ROWNUM,t.* from DT_DOCUMENT t ) a 看到那串神奇的ROW_NUMBER() OVER( ORDER BY DOC_UUID DESC )没有,如果你需要按序排序,DB2要求你写这个奇怪的语法。想想将一个普通的SQL转换为分页的SQL有多难啊。(幸亏Hibernate的Dialect类可以帮忙我们完成,否则会吐血三升而亡的 ) DB2的罪状,还很多啦,后续不断补充上,很欢迎大家涮涮IBM那一群群头上长角,浑身长刺的怪胎。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2014-03-31
虽然没有用过db2数据库,但各有各的好处,这样更严格些,即使有时候在使用时有些麻烦,但不容易出错,方便管理
|
|
返回顶楼 | |
发表时间:2014-03-31
chaillzx 写道 虽然没有用过db2数据库,但各有各的好处,这样更严格些,即使有时候在使用时有些麻烦,但不容易出错,方便管理
使用方便并不一定意味着容易出错。Oracle使用方便,其内部管理依样严格,体系设计 产品设计好坏才是关键的问题。IBM的东西大多都是体量笨重,操作繁复,人性化上设计太缺考虑了! |
|
返回顶楼 | |
发表时间:2014-04-04
IBM的东西是复杂,这样才能在服务中收费嘛
|
|
返回顶楼 | |
发表时间:2014-04-04
还真没发现IBM的软件产品有哪个是好用的
|
|
返回顶楼 | |
发表时间:2014-04-04
其实当年MyEclipse还是好用的,使很多初学者的导师。。。
|
|
返回顶楼 | |
发表时间:2014-04-04
同感 就是故意搞得复杂 让服务人员也显得专业 也更好收费
|
|
返回顶楼 | |
发表时间:2014-04-04
那个修改表结构的,确实不爽。但是,那个分页的方式,和MSSQL 2005+以上的版本的使用方法很一致,倒也觉得很正常。
|
|
返回顶楼 | |
发表时间:2014-04-05
white_crucifix 写道 其实当年MyEclipse还是好用的,使很多初学者的导师。。。
MyEclipse和IBM没关系好吗 |
|
返回顶楼 | |
发表时间:2014-04-05
blooming 写道 white_crucifix 写道 其实当年MyEclipse还是好用的,使很多初学者的导师。。。
MyEclipse和IBM没关系好吗 卧槽,你说得对。不是MyEclipse,应该是eclipse |
|
返回顶楼 | |