oracle與mysql的區別

2021-10-12 13:45:42 字數 1394 閱讀 1081

本質的區別:

oracle資料庫是乙個物件關聯式資料庫管理系統(ordbms),是大型的資料庫。

mysql資料庫是乙個開源的關聯式資料庫管理系統(rdbms)。它是世界上使用最多的rdbms,作為伺服器執行,提供對多個資料庫的多使用者訪問。mysql是中小型資料庫

費用:mysql是開源的專案(免費),oracle資料庫產品是閉源同時也是收費的。

自增長:

mysql有自動增長的資料型別,插入記錄時不用操作此欄位,會自動獲得資料值。oracle沒有自動增長的資料型別,需要建立乙個自動增長的序列號,插入記錄時要把序列號的下乙個值賦於此欄位。

事務:mysql對於事務預設是不支援的,只有某些儲存引擎中如:innodb可以支援。 而oracle對於事務是完全支援,不管是oltp還是olat都是支援的。

安全性:

mysql使用三個引數來驗證使用者,即使用者名稱,密碼和位置;oracle使用了許多安全功能,如使用者名稱,密碼,配置檔案,本地身份驗證,外部身份驗證,高階安全增強功能等。

儲存:與oracle相比,mysql沒有表空間,角色管理,快照,同義詞和包以及自動儲存管理。

語法:mysql裡可以用雙引號包起字串,oracle裡只可以用單引號包起字串。在插入和修改字串前必須做單引號的替換:把所有出現的乙個單引號替換成兩個單引號。

日期:日期:mysql日期欄位分date和time兩種,oracle日期字段只有date,包含年月日時分秒資訊,用當前資料庫的系統時間為sysdate, 精確到秒。

執行緒:mysql是單程序多執行緒,oracle是多程序(在windows下也是單程序),windows 下只能使用乙個使用者,或者你可以在不同使用者之間做切換,而linux是多用 戶或者相同使用者可以同時連線作業系統

優化:mysql裡用 欄位名 like 『%字串%』,oracle裡也可以用 欄位名 like 『%字串%』 但這種方法不能使用索引, 速度不快,用字串比較函式 instr(欄位名,『字串』)>0 會得到更精確的查詢結果。

管理:在資料庫管理部分,oracle dba比mysql dba更有收益。與mysql相比,oracle dba有很多可用的範圍。

備份型別:

oracle提供不同型別的備份工具,如冷備份,熱備份,匯出,匯入,資料幫浦。oracle提供了最流行的稱為recovery manager(rman)的備份實用程式。使用rman,我們可以使用極少的命令或儲存指令碼自動化我們的備份排程和恢復資料庫。

額外功能對比:

mysql資料庫不支援其伺服器上的任何功能,如audit vault。另一方面,oracle支援其資料庫伺服器上的幾個擴充套件和程式,例如active data guard,audit vault,partitioning和data mining等。

儲存區別:

與oracle相比,mysql沒有表空間,角色管理,快照,同義詞和包以及自動儲存管理。

Oracle與MySQL的區別

一 併發性 oracle的併發性優於mysql的併發性,oracle使用行級鎖,資源鎖定的粒度較小 mysql使用的是表級鎖 二 一致性 oracle構造資料塊來實現讀一致性,mysql只支援read commited隔離級別,乙個session讀取資料時,其他session不能更改資料,只可以在表...

Oracle與MySql的區別

mysql查詢預設是不區分大小寫的 如 select from table name where a like a select from table name where a like a 效果是一樣的。要讓mysql查詢區分大小寫,可以 select from table name where ...

MySQL 與Oracle 的區別

我總結了一下幾點,一 本質區別 oracle資料庫是乙個物件關聯式資料庫管理系統,重點它是乙個收費的資料庫,所以連馬雲的阿里集團都選擇了mysql。mysql是乙個開源的關聯式資料庫管理系統,它是免費的,一般搞學習,我們認證mysql。三 事務 oracle很早就完全支援事務。mysql在innod...