小姐姐味道【ID:xjjdog】
作者:十年架构,日百亿流量经验,与你分享。
在《“分库分表” ?选型和流程要慎重,否则会失控》中,我们谈到处于驱动层的sharding-jdbc。开源做到这个水平,已经超棒了,不像tddl成了个太监。但还是有坑。
不过不能怪框架,毕竟有些sql,只有程序和鬼能懂。
不支持的操作select from order where orderCode = #{item}
分库分表后,就成为了一个阉割型的数据库。很多sql的特性是不支持的,需要使用其他手段改进。以下以3.0.0版本进行描述。
distinctsharding-jdbc不支持distinct,单表可使用group by进行替代。多表联查可使用exists替代
select DISTINCT a, b, c, d from table where df=0
改成
select a, b, c, d from table where df=0 group by a, b, c, dhaving
sharding-jdbc不支持having,可使用嵌套子查询进行替代
unionsharding-jdbc不支持union(all),可拆分成多个查询,在程序拼接
关于子查询sharding-jdbc不支持在子查询中出现同样的表,如
以下可以⇒
SELECt COUNT(*) FROM (SELECt * FROM t_order o)
以下报错⇒
SELECt COUNT(*) FROM (SELECt * FROM t_order o WHERe o.id IN (SELECt id FROM t_order WHERe status = ?))
由于归并的限制,子查询中包含聚合函数目前无法支持。
mybatis 注释sharding-jdbc不支持sql中的
热门相关搜索
路由器设置
木托盘
宝塔面板
儿童python教程
心情低落
朋友圈
vim
双一流学科
专升本
我的学校
日记学校
西点培训学校
汽修学校
情书
化妆学校
塔沟武校
异形模板
西南大学排名
最精辟人生短句
6步教你追回被骗的钱
南昌大学排名
清朝十二帝
北京印刷学院排名
北方工业大学排名
北京航空航天大学排名
首都经济贸易大学排名
中国传媒大学排名
首都师范大学排名
中国地质大学(北京)排名
北京信息科技大学排名
中央民族大学排名
北京舞蹈学院排名
北京电影学院排名
中国戏曲学院排名
河北政法职业学院排名
河北经贸大学排名
天津中德应用技术大学排名
天津医学高等专科学校排名
天津美术学院排名
天津音乐学院排名
天津工业大学排名
北京工业大学耿丹学院排名
北京警察学院排名
天津科技大学排名
北京邮电大学(宏福校区)排名
北京网络职业学院排名
北京大学医学部排名
河北科技大学排名
河北地质大学排名
河北体育学院排名



