達夢資料和mysql資料庫的區別

2021-09-29 09:29:08 字數 2998 閱讀 3762

介紹

達夢資料庫管理系統是達夢公司推出的具有完全自主智財權的高效能資料庫管理系統,簡稱dm,它具有如下特點:

達夢資料庫管理系統相容多種硬體體系,可執行於x86、x64、sparc、power等硬體體系之上。dm各種平台上的資料儲存結構和訊息通訊結構完全一致,使得dm各種元件在不同的硬體平台上具有一致的使用特性。

達夢資料庫管理系統產品實現了平台無關性,支援windows系列、各版本linux(2.4及2.4以上核心)、unix、kylin、aix、solaris等各種主流作業系統。達夢資料庫的伺服器、介面程式和管理工具均可在32位/64 位版本作業系統上使用。

支援列儲存、資料壓縮、物化檢視等面向聯機事務分析場景的優化選項;

通過表級行儲存、列儲存選項技術,在同一產品中提供對聯機事務處理和聯機分析處理業務場景的支援;

可配置資料守護系統(主備),自動快速故障恢復,具有強大的容災處理能力。

跨平台,支援主流軟硬體體系(支援windows、linux、中標麒麟、銀河麒麟等作業系統),支援主流標準介面。

支援拓展軟體包和多種工具,實現海量資料分析處理、資料共享集群(dsc)和無共享資料庫集群(mpp)等擴充套件功能

與mysql的區別

建立表的時候,不支援在列的後面直接加 comment 注釋,使用 comment on is 代替,如:

comment on table *** is ***

comment on column *** is ***

不支援 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());

不支援 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 可以是 year,month,day,hour,minute,second

例子:select extract(year from 『2018-12-13 08:45:00』); --2018

select extract(month from 『2018-12-13 08:45:00』); --12

不支援 substring_index 函式, 使用 substr / substring 代替,

語法:substr(char[,m[,n]])

substring(char[from m[ for n]])

不支援 group_concat 函式,使用 wm_concat 代替,

例子:select wm_concat(id) as idstr from persion order by id ;

不支援 from_unixtime 函式,使用 round 代替

語法:round(date[,format])

不支援 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;

current_timestamp 的返回值帶有時區,

例子:select current_timestamp();

2018-12-17 14:34:18.433839 +08:00

convert(type, value) 函式,

與 mysql 的 convert 一樣,但是引數是反過來的,mysql 是 convert(value, type)

不支援 on duplicate key update,

使用 merge into 代替

不支援 ignore,即 insert ignore into

不支援 replace into,

使用 merge into 代替

不支援 if。

不支援 「」,只支援』』

不支援 auto_increment, 使用 identity 代替

如: identity(1, 1),從 1 開始,每次增 1

不支援 longtext 型別,

可用 clob 代替。

總結達夢資料庫和 oracle 資料庫比較像,如果找不到和 mysql 對應的函式,可以看下 oracle 的相關函式。

達夢資料庫和mysql索引引擎 達夢資料庫 索引

1.索引的種類和功能 聚集索引 每乙個普通表有且只有乙個聚集索引 唯一索引 索引資料根據索引鍵唯一 函式索引 包含函式 表示式的預先計算的值 位圖索引 對低基數的列建立位圖索引 位圖連線索引 針對兩個或者多個表連線的點陣圖索引,主要用於資料倉儲中 全文索引 在表的文字列上而建的索引。2.何時使用索引...

mysql資料庫遷移達夢資料庫

我們安裝好達夢資料庫之後,便可以在開始 所有工具 達夢資料庫中看到它的結構 我們選擇dm資料遷移工具,然後點選進去 然後在遷移管理裡右鍵新建工程 然後輸入工程名即可,可以隨便起。點選確定 然後選中專案下的遷移,右鍵新建遷移 遷移名稱也是一樣,可以隨便起。點選確定 然後看到該頁面,點選下一步 然後選擇...

達夢資料庫的緩衝區

這裡這緩衝區,主要指的是資料緩衝區。資料緩衝區是將資料頁寫入磁碟之前以及資料頁從磁碟讀取之後,資料頁所儲存的地方。這裡有三條鏈來管理被緩衝的資料頁。一,自由鏈 存放未被使用的資料頁 二,lru鏈 存放已經使用的資料頁 包括已修改和未修改的 三,髒鏈 存放已經使用並修改,等待寫入磁碟的記憶體資料頁。還...