此篇博客仅用于记录工作中使用mycat时遇到的问题及其相关解决方案
1. 关于聚合函数
mycat支持聚合函数的使用,但也有以下几点注意点:(仅针对非global表)
a. 聚合函数必须在最外层select,且不允许有其它函数包裹,否则mycat不会进行二次聚合处理。
b. mycat1.6版本连接oracle数据库时,若参数<property name="useOffHeapForMerge">0</property>(server.xml)未配置,或配置的值为1。则聚合时会从分库中随机取值,而非进行二次聚合处理。
2. 关于排序
a. mycat1.4排序时,若字段内存在null值则会报空指针异常,该问题在1.6.5中修复。
3. 关于oracle分析函数
a. 在使用mycat1.4连接oracle时发现不支持oracle的分析函数,该问题也在1.6版本中修复。
4. 关于having关键字
a. having关键字原先用于group by后条件过滤,但在mycat中,having后的过滤条件仅在单库中进行过滤,即无法在mycat汇总数据后进行过滤。
5.关于oracle的||字符串连接符
a. 在mycat连接oracle时,大量使用||作为字符串连接符时出现查询卡死不返回的情况(1.4版本),目前问题暂未定位到,仅做记录。