mysql distribute by_Mysql与分布式Gaussdb 100语法差异及常见问题汇总
mysql与gaussdb的差异:
YEAR(CURRENT_TIMESTAMP()) year =》 EXTRACT (year from current_timestamp ()) year
((#{year} - 1) + '0101000000') =》 to_date((#{year} - 1)||'-01-01','%Y-mm-%d')
((#{year} - 1)+'1231235959') =》 to_date((#{year} - 1)||'-12-31 23:59:59','%Y-mm-%d %H:%i:%s')
CEILING => CEIL
字段如果有not null约束,mysql中可以插入‘’/ ' ',在gauss中只能插入' ' ----
导入数据时 mysql 0000-00-00 => gauss 0001-01-01 ----
dateFormat => 视具体情况替换成to_char 或者 to_date
STR_TO_DATE =》 to_date
group by 的list 中必须要有select中的字段
日期格式 :%M => 日期格式 : mm
ON DUPLICATE KEY UPDATE 支持子查询 => 分布式情况下,不支持子查询,另外merge功能也不支持子查询 ---后通过merge实现
integer格式能隐式转成date =》 需要to_date函数转换
Decimal(x,y)/Number/Double/float 精度处理差异:
1)如果在sql中直接将查询结果设置为0(0.00)(不从数据库字段中取值),则mysql统一处理为0.00,gaussdb统一处理为0
2)如果在sql中直接将查询结果设置为2(2.00)(不从数据库字段中取值),则mysql统一处理为2.00,gaussdb统一处理为2
例子:
select 0 as alias from table 的结果: =》 select 0 as alias from table 的结果:
0.00 0
select 0.01 as alias from table 的结果: =》 select 0.01 as alias from table 的结果:
0.01 0.01
3)计算结果的精度处理:
A(Decimal(16,2)) :1.00 ,B(Decimal(16,2)) :1.00 => A(Decimal(16,2)) :1.00 ,B(Decimal(16,2)) :1.00
A+B =2.00 A+B =2
PERIOD_ADD =》 add_mouths
DATE_ADD =》 timestampadd
SIGNED integer =》 integer SIGNED
建库/表/索引:
分库分表语法修改:
分片:
dbpartition by hash(`MDTRTPROV_DBPT_CODG`) =》DISTRIBUTE BY HASH (MDTRTPROV_DBPT_CODG) 且 分片字段必须是主键
分区:
tbpartition by hash(`MSGID`) tbpartitions 3 => PARTITION BY HASH (MSGID) PARTITIONS 3
索引:
KEY `auto_shard_key_mdtrtprov_dbpt_codg` (`MDTRTPROV_DBPT_CODG`) USING BTREE -》 默认B+
KEY `INDEX_senderMsgId` (`SENDER_MSG_ID`) =》需要单独创建索引,create index
=》普通表在分布式下必须要指定分片(复制表):distribute by replication on groupid(1)
gaussdb的语法限制:
1)ORDER BY 要用as的别名,不能用原字段名
2)group by 要用原字段名称,不能用as的名称
3)字段用到关键字,如date,需要加上反引号`
一些常见的问题:
如果遇到查询关闭数据库socket连接,可以试试调整where条件顺序,将有传参的条件放到固定条件之前, 将CURRENT_TIMESTAMP()函数换成sysdate
那我想将两张相同字段的表进行合并,如果主键重复就做更新操作,主键不冲突就插入,gauss该用什么语句呢
DataStudio工具,格式化后很多sql执行会报错。
When Case 中有now()函数导致执行报错,可以更换为sysdate
mysql distribute by_Mysql与分布式Gaussdb 100语法差异及常见问题汇总相关推荐
- MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)
❝ 写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了. 个人建议把面试题看作是费曼学习法中的回顾.简化的环节 ...
- MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余
写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了. 个人建议把面试题看作是费曼学习法中的回顾.简化的环节,准 ...
- MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列)
写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了. 个人建议把面试题看作是费曼学习法中的回顾.简化的环节,准 ...
- 【转】MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)
MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列) 本文公众号来源:JavaKeeper作者:派大新 写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术 ...
- RadonDB - 基于MySQL的云原始分布式数据库,用于构建全局的,可扩展的云服务
RadonDB是开源的云原生MySQL数据库,用于构建全局的,可扩展的云服务 概观 RadonDB是一个开源的,云原生的MySQL数据库,可实现无限的可扩展性和性能. 什么是RadonDB? Rado ...
- Oracle 迁移至 MySQL、PG等分布式数据库,可能遇到的12个典型问题
近年来,分布式数据库逐渐占据了OLTP领域较大的市场,尤其在互联网领域,MySQL.PG等分布式数据库的应用非常广泛.随着软件国产化.自主可控战略的提出,非互联网企业也开始考虑数据库转型,很多企业原本 ...
- 一文搞懂MySQL XA如何实现分布式事务
一文搞懂MySQL XA如何实现分布式事务 前言 XA 协议 如何通过MySQL XA实现分布式事务 前言 MySQL支持单机事务的良好表现毋庸置疑,那么在分布式系统中,涉及多个节点,MySQL又是如 ...
- 6 redhat 查看rtc时间_甜甜老师的DB Fun圈第2讲:GaussDB 100 OLTP 单机在RHEL7.6上的安装...
在[甜甜老师的DB Fun圈]第一讲的分享中,我们揭开了华为GuassDB数据库的神秘面纱,那么本期我们继续分享[甜甜老师的DB Fun圈]第二讲--GaussDB 100 OLTP 单机在RHEL7 ...
- MySQL和PostgreSQL的常用语法差异
背景 在去年的DBMS评比中,PostgreSQL夺冠,PostgreSQL一直保持上升姿态,越来越多的客户选择使用PostgreSQL,还有一部分客户从MySQL迁往PostgreSQL,那Post ...
最新文章
- 用Debug函数实现API函数的跟踪
- error C2668
- Tablecontrol动态序号实现
- iOS中AutoLayer自动布局流程及相关方法
- minecraft服务器_如何使用Minecraft领域设置简单的无压力Minecraft服务器
- 在给Ext2 Grid设置了autoHeight属性后,如何显示滚动条
- HDFS文件系统的JAVA-API操作(一)
- 昨天做的事情和今天需要做的事情
- 查看对方IP地址的5种方法
- 如何在mysql中创建学生信息表_数据库怎么创建学生信息表
- 免费直播编码软件应用技巧
- Unity游戏开始界面制作教学
- HTML5工程师利用原生js开发百度搜索黑洞漩涡特效
- 计算机设置从光盘启动怎么办,[光盘启动]BIOS设置从光盘光驱启动教程
- GIF 斗图警告!GitHub 标星 5.5k+,Sorry 会编程就是可以 为所欲为!
- 解决idea代码无故爆红问题
- 微信公众号推文(编辑+排版教程)
- java第一个代码Hello,World
- matlab赋值一行,matlab – 0和1的矩阵,其中后续行中的赋值取决于前一行
- 13个优秀的UML工具软件
热门文章
- Tensorflow2.* 加载和预处理数据之用 tf.data 加载 Numpy数据(2)
- xmos-XU208-128-QF48芯片简介
- mysql导数据出现Incorrect string value: '\xF0\x9F\x90\x82'报错
- tao.opengl + C#
- git错误:error: failed to push some refs to
- SAP S/4 HANA物料账实际成本:理解版本迁移时的基本改变和影响
- 互联网金融热浪下丨看看美国的互联网金融怎么玩?
- linux mplayer rpm,mplayer - movie player for linux
- 鼠标点击事件对象的clientX、pageX、offsetX、screenX、x
- touch.pageX/touch.screenX/touch.clientX的区别