国产数据库适配-达梦(DM)

news2024/9/23 19:16:44
1、通用性

达梦数据库管理系统兼容多种硬件体系,可运行于X86、X64、SPARC、POWER等硬件体系之上。DM各种平台上的数据存储结构和消息通信结构完全一致,使得DM各种组件在不同的硬件平台上具有一致的使用特性。
 达梦数据库管理系统产品实现了平台无关性,支持Windows系列、各版本Linux(2.4及2.4以上内核)、Unix、Kylin、AIX、Solaris等各种主流操作系统。达梦数据库的服务器、接口程序和管理工具均可在32位/64 位版本操作系统上使用。

2、高性能

支持列存储、数据压缩、物化视图等面向联机事务分析场景的优化选项;
 通过表级行存储、列存储选项技术,在同一产品中提供对联机事务处理和联机分析处理业务场景的支持;

3、高可用

可配置数据守护系统(主备),自动快速故障恢复,具有强大的容灾处理能力。

4、跨平台

跨平台,支持主流软硬件体系(支持windows、Linux、中标麒麟、银河麒麟等操作系统),支持主流标准接口。

5、高可扩展

支持拓展软件包和多种工具,实现海量数据分析处理、数据共享集群(DSC)和无共享数据库集群(MPP)等扩展功能

与MySQL的区别

1. 创建表的时候,不支持在列的后面直接加 comment 注释,使用 COMMENT ON  IS 代替,如:
   COMMENT ON TABLE xxx IS xxx
   COMMENT ON COLUMN xxx IS xxx
2. 不支持 date_sub 函数,使用 dateadd(datepart,n,date) 代替,

其中,datepart可以为:year(yy,yyyy)quarter(qq,q)month(mm,m)dayofyear(dy,y)day(dd,d)week(wk,ww)weekday(dw)hour(hh)minute(mi,n)second(ss,s), millisecond(ms)
  例子:

   select dateadd(month, -6, now());
   select dateadd(month, 2, now());
3. 不支持 date_format 函数,它有三种代替方法:

a: 使用 datepart 代替
语法:datepart(datepart, date),返回代表日期的指定部分的整数,
datepart可以为:year(yy,yyyy)quarter(qq,q)month(mm,m)dayofyear(dy,y)day(dd,d)week(wk,ww)weekday(dw)hour(hh)minute(mi,n)second(ss,s), millisecond(ms)
例子:

 select datepart(year, '2018-12-13 08:45:00'); --2018
 select datepart(month, '2018-12-13 08:45:00'); --12

b: 使用 date_part 代替
功能和 datepart 一样,写法不同,参数顺序颠倒,且都要加引号,
例子:

 select date_part('2018-12-13 08:45:00', 'year');--2018
 select date_part('2018-12-13 08:45:00', 'mm'); -- 12

c: 使用 extract 代替
语法:extract(dtfield from date),从日期类型date中抽取dtfield对应的值
dtfield 可以是 yearmonthdayhourminutesecond
例子:

  select extract(year from  '2018-12-13 08:45:00'); --2018
  select extract(month from  '2018-12-13 08:45:00'); --12
4. 不支持 substring_index 函数, 使用 substr / substring 代替,

语法:

    substr(char[,m[,n]])
    substring(char[from m[ for n]])
5. 不支持 group_concat 函数,使用 wm_concat 代替,

例子:

  select wm_concat(id) as idstr from persion ORDER BY id ;
6. 不支持 from_unixtime 函数,使用 round 代替

语法:

     round(date[,format])
7. 不支持 case-when-then-else ,

例如:

   select case  when id = 2 then "aaa" when id = 3 then "bbb" else "ccc" end as test
   from (select id from person) tt;
8. current_timestamp 的返回值带有时区,

例子:

     select current_timestamp(); --2018-12-17 14:34:18.433839 +08:00
9. convert(type, value) 函数,
与 mysql 的 convert 一样,但是参数是反过来的,mysql 是 convert(value, type)
10.  不支持 on duplicate key update,
     使用 merge into 代替 
11. 不支持 ignore,即 insert ignore  into
12. 不支持 replace into,
       使用 merge into 代替 
13. 不支持 if。
14.  不支持 "",只支持 ''
15. 不支持 auto_increment,
使用 identity 代替
如: identity(1, 1),从 1 开始,每次增 1 
16. 不支持 longtext 类型,
       可用 CLOB 代替。

配置参数

sf_set_system_para_value('COMPATIBLE_MODE',4,1,2); --兼容mysql,重启数据库生效
sf_set_system_para_value('GROUP_OPT_FLAG',3,1,2);--非兼容mysql情况下支持查询项不在分组函数中,重启数据库生效

这两个2选一,如果第一个没有问题,第二个就不需要执行了

sf_set_system_para_value('ENABLE_BLOB_CMP_FLAG',1,0,1);

总结

达梦数据库和 oracle 数据库比较像,如果找不到和 MySQL 对应的函数,可以看下 oracle 的相关函数。

它的使用文档可以在官网下载到。如果函数实在找不到而且项目里必须要用,可以找厂商提工单支持,他们反馈给开发,只不过周期稍微长点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1311226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能优化算法应用:基于蝠鲼觅食算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于蝠鲼觅食算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蝠鲼觅食算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝠鲼觅食算法4.实验参数设定5.算法结果6.…

Knowledge Distillation from A Stronger Teacher(NeurIPS 2022)论文解读

paper:Knowledge Distillation from A Stronger Teacher official implementation:https://github.com/hunto/dist_kd 前言 知识蒸馏通过将教师的知识传递给学生来增强学生模型的性能,我们自然会想到,是否教师的性能越强&…

vue的slot插槽详解

目录 一、基本用法 在上面的例子中,我们在子组件中定义了一个插槽,然后在父组件中使用标签,并在标签内部放置了一个 标签作为插槽的内容。当父组件被渲染时,插槽的内容将被替换为实际传入的内容。 二、具名插槽 在上面的例子…

Java集合--Map

1、Map集合概述 在Java的集合框架中&#xff0c;Map为双列集合&#xff0c;在Map中的元素是成对以<K,V>键值对的形式存在的&#xff0c;通过键可以找对所对应的值。Map接口有许多的实现类&#xff0c;各自都具有不同的性能和用途。常用的Map接口实现类有HashMap、Hashtab…

初识GroovyShell

文章目录 前言一、GroovyShell二、maven三、解决方案四、关键代码4.1 数据库配置表(pg)4.2 入参4.3 分页查询 总结 前言 项目背景&#xff1a;查询多个表的数据列表和详情&#xff0c;但不想创建过多的po、dao、resp等项目文件。 一、GroovyShell Apache Groovy是一种强大的…

关于ctf反序列化题的一些见解([MRCTF2020]Ezpop以及[NISACTF 2022]babyserialize)

这里对php反序列化做简单了解 在PHP中&#xff0c;序列化用于存储或传递 PHP 的值的过程中&#xff0c;同时不丢失其类型和结构。 serialize&#xff08;&#xff09; 函数序列化对象后&#xff0c;可以很方便的将它传递给其他需要它的地方&#xff0c;且其类型和结构不会改变…

Python FuckIt模块:代码的“不死鸟”

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在编程世界中&#xff0c;每个开发者都曾遇到过代码中的错误&#xff0c;有时这些错误可能让人崩溃。但是&#xff0c;有一天&#xff0c;听说了一个叫做"FuckIt"的模块&#xff0c;它声称可以帮助摆脱…

ASP.NET Core 8 在 Windows 上各种部署模型的性能测试

ASP.NET Core 8 在 Windows 上各种部署模型的性能测试 我们知道 Asp.net Core 在 windows 服务器上部署的方案有 4 种之多。这些部署方案对性能的影响一直以来都是靠经验。比如如果是部署在 IIS 下&#xff0c;那么 In Process 会比 Out Process 快&#xff1b;如果是 Self Hos…

计算机操作系统-第十六天

目录 线程的实现方式 用户级线程 内核级线程 多线程模型 一对一模型 多对多模型 多对多模型 本节思维导图 线程的实现方式 用户级线程 历史背景&#xff1a;早期操作系统只支持进程&#xff0c;不支持线程&#xff0c;当时的线程是由线程库实现的 本质&#xff1a;从…

zabbix简单介绍2

学习目标: 能够实现一个web页面的监测能够实现自动发现远程linux主机能够通过动作在发现主机后自动添加主机并链接模板能够创建一个模版并添加相应的元素(监控项,图形,触发器等)能够将主机或模板的配置实现导出和导入能够实现至少一种报警方式(邮件,微信等)能够通过zabbix_pro…

中兴 H108NS 路由器 tools_admin.asp权限绕过漏洞复现

0x01 产品简介 中兴H108NS路由器是一款集WiFi管理、路由分配、动态获取上网连接等功能于一体的路由器产品。 0x02 漏洞概述 中兴H108NS路由器tools_admin.asp接口处存在身份认证绕过漏洞,攻击者可利用该漏洞绕过身份认证允许访问路由器的管理面板修改管理员密码,获取用户的…

全志V3s之U-Boot

1、安装交叉编译器&#xff1a; ARM交叉编译器的官网&#xff1a;交叉编译器 a、使用wget下载&#xff1a; wget https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xzb、解…

关于“Python”的核心知识点整理大全12

目录 6.3.3 按顺序遍历字典中的所有键 6.3.4 遍历字典中的所有值 6.4 嵌套 6.4.1 字典列表 aliens.py 6.4.2 在字典中存储列表 pizza.py favorite_languages.py 注意 往期快速传送门&#x1f446;&#xff08;在文章最后&#xff09;&#xff1a; 6.3.3 按顺序遍历字…

a16z:加密行业2024趋势“无缝用户体验”

近日&#xff0c;知名加密投资机构a16z发布了“Big ideas 2024”&#xff0c;列出了加密行业在 2024 年几个具备趋势的“大想法”&#xff0c;其中 Seamless UX&#xff08;无缝用户体验&#xff09;赫然在列。 从最为直观的理解上&#xff0c;Seamless UX 是在强调用户在使用产…

物联网时代的访问控制研究综述

A survey on Access Control in the Age of Internet of Things 文章目录 A B S T R A C T引言A. Comparison Between This Paper and Existing SurveysB. Contributions II.ACCESS CONTROL BACKGROUNDIII. ACCESS CONTROL CHALLENGES IN IOT SEARCHA. Characteristics of IoT …

一个简单得爬虫小案例:获取西瓜网视频数据【python】

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 第三方模块: requests >>> pip install requests 环境介绍: python 3.8 解释器 pycharm 编辑器 思路分析 找到数据来源 你要爬取的视频 筛选 找不…

EasyX图形化学习(二)

1.消息处理---鼠标消息&#xff1a; 1.ExMessage结构体&#xff1a; ExMessage---这个结构体用于保存鼠标消息。 //定义消息结构体变量 ExMessage msg { 0 }; 2.获取消息&#xff1a; &#xff08;1&#xff09;peekmessage函数&#xff1a;用于获取一个消息&#xff0c;…

leetcode面试经典150题——36 旋转图像

题目&#xff1a; 旋转图像 描述&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#x…

【论文阅读】LoRA: Low-Rank Adaptation of Large Language Models

code&#xff1a;GitHub - microsoft/LoRA: Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models" 做法&#xff1a; 把预训练LLMs里面的参数权重给冻结&#xff1b;向transformer架构中的每一层&#xff0c;注入可训练的…

MYSQL练题笔记-子查询-换座位

一、题目相关内容 1&#xff09;相关的表和题目 2&#xff09;帮助理解题目的示例&#xff0c;提供返回结果的格式 二、自己初步的理解 没啥思路&#xff0c;我还没做过交换的这种题&#xff0c;所以我觉得这类交换的题以后值得做一个合集&#xff0c;是有点灵活度在里面的&a…