本篇內(nèi)容主要講解“MySQL和oracle的區(qū)別有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“mysql和oracle的區(qū)別有哪些”吧!
成都創(chuàng)新互聯(lián)是一家專業(yè)提供興寧企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為興寧眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
有區(qū)別,分別為:1、MySQL自動提交事務(wù),Oracle手動提交;2、隔離級別上,MySQL是“read commited”,Oracle是“repeatable read”;3、MySQL是輕量型,且免費,而Oracle是重量型,且收費。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
mysql和oracle的區(qū)別
(1) 對事務(wù)的提交
MySQL默認(rèn)是自動提交,而Oracle默認(rèn)不自動提交,需要用戶手動提交,需要在寫commit;指令或者點擊commit按鈕
(2) 分頁查詢
MySQL是直接在SQL語句中寫"select... from ...where...limit x, y",有l(wèi)imit就可以實現(xiàn)分頁
而Oracle則是需要用到偽列ROWNUM和嵌套查詢
(3) 事務(wù)隔離級別
MySQL是read commited的隔離級別,而Oracle是repeatable read的隔離級別,同時二者都支持serializable串行化事務(wù)隔離級別,可以實現(xiàn)最高級別的
讀一致性。每個session提交后其他session才能看到提交的更改。Oracle通過在undo表空間中構(gòu)造多版本數(shù)據(jù)塊來實現(xiàn)讀一致性,每個session
查詢時,如果對應(yīng)的數(shù)據(jù)塊發(fā)生變化,Oracle會在undo表空間中為這個session構(gòu)造它查詢時的舊的數(shù)據(jù)塊
MySQL沒有類似Oracle的構(gòu)造多版本數(shù)據(jù)塊的機(jī)制,只支持read commited的隔離級別。一個session讀取數(shù)據(jù)時,其他session不能更改數(shù)據(jù),但可以在表最后插入數(shù)據(jù)。session更新數(shù)據(jù)時,要加上排它鎖,其他session無法訪問數(shù)據(jù)
(4) 對事務(wù)的支持
MySQL在innodb存儲引擎的行級鎖的情況下才可支持事務(wù),而Oracle則完全支持事務(wù)
(5) 保存數(shù)據(jù)的持久性
MySQL是在數(shù)據(jù)庫更新或者重啟,則會丟失數(shù)據(jù),Oracle把提交的sql操作線寫入了在線聯(lián)機(jī)日志文件中,保持到了磁盤上,可以隨時恢復(fù)
(6) 并發(fā)性
MySQL以表級鎖為主,對資源鎖定的粒度很大,如果一個session對一個表加鎖時間過長,會讓其他session無法更新此表中的數(shù)據(jù)。
雖然InnoDB引擎的表可以用行級鎖,但這個行級鎖的機(jī)制依賴于表的索引,如果表沒有索引,或者sql語句沒有使用索引,那么仍然使用表級鎖。
Oracle使用行級鎖,對資源鎖定的粒度要小很多,只是鎖定sql需要的資源,并且加鎖是在數(shù)據(jù)庫中的數(shù)據(jù)行上,不依賴與索引。所以O(shè)racle對并發(fā)性的支持要好很多。
(7) 邏輯備份
MySQL邏輯備份時要鎖定數(shù)據(jù),才能保證備份的數(shù)據(jù)是一致的,影響業(yè)務(wù)正常的dml使用,Oracle邏輯備份時不鎖定數(shù)據(jù),且備份的數(shù)據(jù)是一致
(8) 復(fù)制
MySQL:復(fù)制服務(wù)器配置簡單,但主庫出問題時,叢庫有可能丟失一定的數(shù)據(jù)。且需要手工切換叢庫到主庫。
Oracle:既有推或拉式的傳統(tǒng)數(shù)據(jù)復(fù)制,也有dataguard的雙機(jī)或多機(jī)容災(zāi)機(jī)制,主庫出現(xiàn)問題是,可以自動切換備庫到主庫,但配置管理較復(fù)雜。
(9) 性能診斷
MySQL的診斷調(diào)優(yōu)方法較少,主要有慢查詢?nèi)罩尽?/p>
Oracle有各種成熟的性能診斷調(diào)優(yōu)工具,能實現(xiàn)很多自動分析、診斷功能。比如awr、addm、sqltrace、tkproof等
(10)權(quán)限與安全
MySQL的用戶與主機(jī)有關(guān),感覺沒有什么意義,另外更容易被仿冒主機(jī)及ip有可乘之機(jī)。
Oracle的權(quán)限與安全概念比較傳統(tǒng),中規(guī)中矩。
(11)分區(qū)表和分區(qū)索引
MySQL的分區(qū)表還不太成熟穩(wěn)定。
Oracle的分區(qū)表和分區(qū)索引功能很成熟,可以提高用戶訪問db的體驗。
(12)管理工具
MySQL管理工具較少,在linux下的管理工具的安裝有時要安裝額外的包(phpmyadmin, etc),有一定復(fù)雜性。
Oracle有多種成熟的命令行、圖形界面、web管理工具,還有很多第三方的管理工具,管理極其方便高效。
(13)最重要的區(qū)別
MySQL是輕量型數(shù)據(jù)庫,并且免費,沒有服務(wù)恢復(fù)數(shù)據(jù)。
Oracle是重量型數(shù)據(jù)庫,收費,Oracle公司對Oracle數(shù)據(jù)庫有任何服務(wù)。
到此,相信大家對“mysql和oracle的區(qū)別有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)頁名稱:mysql和oracle的區(qū)別有哪些
本文地址:http://chinadenli.net/article24/jgjdje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、做網(wǎng)站、品牌網(wǎng)站制作、定制網(wǎng)站、營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)