郑重声明:如果有可能,尽量避免使用 GBase数据库,相对达梦等国产数据库,实在太差劲.
多个版本之间不能平滑升级,跟IE有一拼,A 版本支持的B版本可能就不支持.
迫于形势必须使用的话,则只能咬牙忍受了.
1.之前使用8t版本遇到 TOP 函数问题,开发环境支持,线上版本不支持
而且数据库都是 8t,但是8t也有不同的版本,所以..............
根据目前的情况 gabse对 first 函数兼容性更好(用于获取前N条数据)
2.8s版本遇到, select MAX(org_code) from SYS_ORGAINZE where ORG_CODE like 'LS%' ; 该语句结果为null
select avg(1),MAX(org_code) from SYS_ORGAINZE where ORG_CODE like 'LS%' ; 或者 select MAX(org_code) from SYS_ORGAINZE where ORG_CODE like '%LS%' ; 则正常
整体来说就是版本多还混乱,各个版本还是不同团队维护.像ie各个版本不兼容,但没那么夸张.
3.数据迁移困难,不管往其他数据库还是迁移到gbase都比较麻烦,就连gbase之间的迁移都需要停库,执行一串服务器脚本,后来gabse给提供了迁移脚本,gbase之间导出导入稍微好受点
4.客户端,驱动错误提示极差,大部分只会告诉你SQL有语法错误,然后就没了,需要自己好好审阅SQL
5.数据库单用户多实例,虽然可以建立其他用户,但会导致很多问题,比如PageHelper需要注册新的用户名,比如hibernate需要注册新的
Dialect等,虽然改动不大,但是很不爽
6.数据库不支持字段注释
7.gbase text字段不能通过sql语句插入,只能通过程序或者客户端修改(是不是很傻?)
客户端修改的时候不能直接修改,只能粘贴,客户端不能通过sql修改
或者是删除重建,直接使用lvarchar,长度基本也够用
varchar目前最大只能255,这个根据实际情况使用
text字段不能更改字段类型,不管数据库有没有数据,oracle也是这样的,还可以接受吧
8.查询系统所有表时,select * from systables,但是informix驱动或者gbasedbt(informix 8s版本)驱动,分别添加了前缀 informix/gbasedbt 所以如果使用其他用户调用系统的方法可能会出现问题
9.数据库 字段/表别名不能加引号
gbase的 SQL 里支持 字段 和 表名 添加表名时 ,() 代表 可有可无, 可以
字段名 (AS) 字段别名
表名 (AS) 表别名
但 ORACLE ,() 代表 可有可无,只能
字段名 (AS) 字段别名
表名 表别名
ORACLE 字段 ,表 亦可以 别名添加双引号 ,() 代表 可有可无
字段名 (AS) "字段别名"
表名 "表别名"
select A.lhbm as aaa,jhbm as bbb from TY_LHJHNM as A join ty_lhjhnmzb as B on a.lhbm=b.lhbm
10.gbase的递归和oracle一样
SELECT *
FROM TREES
START WITH parentId =0
CONNECT BY PRIOR id=parentId
ORDER BY id desc
11.gbase数据库在数据完全一样的时候
(数据库没主键肯定是设计有锅,这个跑不了)
发现这个问题,想拨乱返正,现在讨论gabse方面:
不好意思,不能删除,是否定制唯一键? 或者使用全部列?
然后...............不好意思数据重复不能定制唯一键,不能删除,我去年买了个表!
如果嫌这个提示烦,以后不再提示的话.那恭喜你中奖了
如果有N条完全一样的数据,重复了一遍,目前总共是2N ,假设将这2N条查询出来
,并且删除其中重复的,只保留不重复的N条,CTRL + S 后,数据全部被删除了,2N都没了
特别提示:gbase是自动提交的,谨防手残,千万记得左上角的 AUTO
这个问题有2个解决方案:
1.通过 distinct 筛选重复数据,添加到新表,此时可筛选掉主键重复的数据
在新表设置主键,再通过SQL去除其他重复数据,比如id不同的,但是其他业务唯一的数据重复的
或不同创建/修改时间的数据等
2.可通过rowid 进行数据删除
12.gbase会自动断开连接,比如几分钟后,客户端连接中断,需要重新连接,此时需要重新选库,然后会卡半天(大概几十秒或者个把分钟)
如果直接执行查询,也是卡半天,然后告诉你需要重新连接
13.gbase客户端也比较差
在测试连接, 连接数据库 ,编辑表切换库, 展开全部表等情况下,明显比其他库慢很多,不过这个主要是客户端问题
除 编辑表 外,均可通过换其他客户端解决,就算编辑表 也会比官方客户端快很多(慢还容易卡死),这点,颇为无语
这个软件是dbeaver,配置稍有麻烦,不过用起来好用多了
数据库界的IE:大清灭亡辣