久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql和oracle的區(qū)別有哪些

151次閱讀
沒有評論

共計 1870 個字符,預計需要花費 5 分鐘才能閱讀完成。

本篇內(nèi)容主要講解“mysql 和 oracle 的區(qū)別有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“mysql 和 oracle 的區(qū)別有哪些”吧!

有區(qū)別,分別為:1、MySQL 自動提交事務,Oracle 手動提交;2、隔離級別上,MySQL 是“read commited”,Oracle 是“repeatable read”;3、MySQL 是輕量型,且免費,而 Oracle 是重量型,且收費。

本教程操作環(huán)境:windows7 系統(tǒng)、mysql8 版本、Dell G3 電腦。

mysql 和 oracle 的區(qū)別

(1) 對事務的提交

MySQL 默認是自動提交,而 Oracle 默認不自動提交,需要用戶手動提交,需要在寫 commit; 指令或者點擊 commit 按鈕

(2) 分頁查詢

MySQL 是直接在 SQL 語句中寫 select… from …where…limit  x, y , 有 limit 就可以實現(xiàn)分頁

而 Oracle 則是需要用到偽列 ROWNUM 和嵌套查詢

(3) 事務隔離級別

MySQL 是 read commited 的隔離級別,而 Oracle 是 repeatable read 的隔離級別,同時二者都支持 serializable 串行化事務隔離級別,可以實現(xiàn)最高級別的

讀一致性。每個 session 提交后其他 session 才能看到提交的更改。Oracle 通過在 undo 表空間中構(gòu)造多版本數(shù)據(jù)塊來實現(xiàn)讀一致性,每個 session

查詢時,如果對應的數(shù)據(jù)塊發(fā)生變化,Oracle 會在 undo 表空間中為這個 session 構(gòu)造它查詢時的舊的數(shù)據(jù)塊

MySQL 沒有類似 Oracle 的構(gòu)造多版本數(shù)據(jù)塊的機制,只支持 read commited 的隔離級別。一個 session 讀取數(shù)據(jù)時,其他 session 不能更改數(shù)據(jù),但可以在表最后插入數(shù)據(jù)。session 更新數(shù)據(jù)時,要加上排它鎖,其他 session 無法訪問數(shù)據(jù)

(4) 對事務的支持

MySQL 在 innodb 存儲引擎的行級鎖的情況下才可支持事務,而 Oracle 則完全支持事務

(5) 保存數(shù)據(jù)的持久性

MySQL 是在數(shù)據(jù)庫更新或者重啟,則會丟失數(shù)據(jù),Oracle 把提交的 sql 操作線寫入了在線聯(lián)機日志文件中,保持到了磁盤上,可以隨時恢復

(6) 并發(fā)性

MySQL 以表級鎖為主,對資源鎖定的粒度很大,如果一個 session 對一個表加鎖時間過長,會讓其他 session 無法更新此表中的數(shù)據(jù)。

雖然 InnoDB 引擎的表可以用行級鎖,但這個行級鎖的機制依賴于表的索引,如果表沒有索引,或者 sql 語句沒有使用索引,那么仍然使用表級鎖。

Oracle 使用行級鎖,對資源鎖定的粒度要小很多,只是鎖定 sql 需要的資源,并且加鎖是在數(shù)據(jù)庫中的數(shù)據(jù)行上,不依賴與索引。所以 Oracle 對并發(fā)性的支持要好很多。

(7) 邏輯備份
   MySQL 邏輯備份時要鎖定數(shù)據(jù),才能保證備份的數(shù)據(jù)是一致的,影響業(yè)務正常的 dml 使用,Oracle 邏輯備份時不鎖定數(shù)據(jù),且備份的數(shù)據(jù)是一致

(8) 復制

MySQL: 復制服務器配置簡單,但主庫出問題時,叢庫有可能丟失一定的數(shù)據(jù)。且需要手工切換叢庫到主庫。

Oracle: 既有推或拉式的傳統(tǒng)數(shù)據(jù)復制,也有 dataguard 的雙機或多機容災機制,主庫出現(xiàn)問題是,可以自動切換備庫到主庫,但配置管理較復雜。

(9) 性能診斷

MySQL 的診斷調(diào)優(yōu)方法較少,主要有慢查詢?nèi)罩尽?/p>

Oracle 有各種成熟的性能診斷調(diào)優(yōu)工具,能實現(xiàn)很多自動分析、診斷功能。比如 awr、addm、sqltrace、tkproof 等

(10) 權(quán)限與安全

MySQL 的用戶與主機有關,感覺沒有什么意義,另外更容易被仿冒主機及 ip 有可乘之機。

Oracle 的權(quán)限與安全概念比較傳統(tǒng),中規(guī)中矩。

(11) 分區(qū)表和分區(qū)索引

MySQL 的分區(qū)表還不太成熟穩(wěn)定。

Oracle 的分區(qū)表和分區(qū)索引功能很成熟,可以提高用戶訪問 db 的體驗。

(12) 管理工具

MySQL 管理工具較少,在 linux 下的管理工具的安裝有時要安裝額外的包(phpmyadmin,etc),有一定復雜性。

Oracle 有多種成熟的命令行、圖形界面、web 管理工具,還有很多第三方的管理工具,管理極其方便高效。

(13) 最重要的區(qū)別

MySQL 是輕量型數(shù)據(jù)庫,并且免費,沒有服務恢復數(shù)據(jù)。

Oracle 是重量型數(shù)據(jù)庫,收費,Oracle 公司對 Oracle 數(shù)據(jù)庫有任何服務。

到此,相信大家對“mysql 和 oracle 的區(qū)別有哪些”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-18發(fā)表,共計1870字。
轉(zhuǎn)載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 满洲里市| 界首市| 佳木斯市| 额济纳旗| 长汀县| 彭州市| 中山市| 上犹县| 宁晋县| 盐津县| 吉水县| 长治县| 施秉县| 望江县| 沙田区| 莲花县| 城口县| 瑞金市| 怀化市| 台中市| 建昌县| 获嘉县| 白沙| 霍邱县| 兴化市| 嘉禾县| 金川县| 洛浦县| 和田市| 英超| 二连浩特市| 酉阳| 施甸县| 嘉祥县| 襄汾县| 江油市| 中牟县| 西乡县| 清水县| 龙口市| 北京市|