您好,登錄后才能下訂單哦!
小編給大家分享一下oracle與mysql有哪些區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
區(qū)別:1、Oracle是大型數(shù)據(jù)庫,而Mysql是中小型數(shù)據(jù)庫;2、Mysql是開源的,Oracle是收費的;3、Mysql對于事務默認是不支持的,而Oracle對于事物是完全支持的;4、Oracle默認需手動提交,Mysql默認自動提交。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
一、宏觀上:
1、Oracle是大型的數(shù)據(jù)庫,而Mysql是中小型數(shù)據(jù)庫;Mysql是開源的,Oracle是收費的,且價格昂貴。
2、Oracle支持大并發(fā),大訪問量,是OLTP的最好的工具。
3、安裝占用的內存也是有差別,Mysql安裝完成之后占用的內存遠遠小于Oracle所占用的內存,并且Oracle越用所占內存也會變多。
二、微觀上:
1、對于事務的支持
Mysql對于事務默認是不支持的,只是有某些存儲引擎中如:innodb可以支持;而Oracle對于事物是完全支持的。
2、數(shù)據(jù)的持久性
Oracle保證提交的事務均可以恢復,因為Oracle把提交的sql操作線寫入了在線聯(lián)機日志文件中,保存到磁盤上,如果出現(xiàn)數(shù)據(jù)庫或者主機異常重啟,重啟Oracle可以靠聯(lián)機在線日志恢復客戶提交的數(shù)據(jù)。
Mysql默認提交sql語句,但是如果更新過程中出現(xiàn)db或者主機重啟的問題,也可能會丟失數(shù)據(jù)。
3、事務隔離級別
MySQL是repeatable read的隔離級別,而Oracle是read commited的隔離級別,同時二者都支持serializable串行化事務隔離級別,可以實現(xiàn)最高級別的。
讀一致性。每個session提交后其他session才能看到提交的更改。Oracle通過在undo表空間中構造多版本數(shù)據(jù)塊來實現(xiàn)讀一致性,每個session 查詢時,如果對應的數(shù)據(jù)塊發(fā)生變化,Oracle會在undo表空間中為這個session構造它查詢時的舊的數(shù)據(jù)塊。
MySQL沒有類似Oracle的構造多版本數(shù)據(jù)塊的機制,只支持read commited的隔離級別。一個session讀取數(shù)據(jù)時,其他session不能更改數(shù)據(jù),但可以在表最后插入數(shù)據(jù)。session更新數(shù)據(jù)時,要加上排它鎖,其他session無法訪問數(shù)據(jù)
4、提交方式
Oracle默認不自動提交,需要手動提交。Mysql默認自動提交。
5、邏輯備份
Mysql邏輯備份是要鎖定數(shù)據(jù),才能保證備份的數(shù)據(jù)是一致的,影響業(yè)務正常的DML(數(shù)據(jù)操縱語言Data Manipulation Language)使用;Oracle邏輯備份時不鎖定數(shù)據(jù),且備份的數(shù)據(jù)是一致的。
6、sql語句的靈活性
mysql對sql語句有很多非常實用而方便的擴展,比如limit功能(分頁),insert可以一次插入多行數(shù)據(jù);Oracle在這方面感覺更加穩(wěn)重傳統(tǒng)一些,Oracle的分頁是通過偽列和子查詢完成的,插入數(shù)據(jù)只能一行行的插入數(shù)據(jù)。
7、數(shù)據(jù)復制
MySQL:復制服務器配置簡單,但主庫出問題時,叢庫有可能丟失一定的數(shù)據(jù)。且需要手工切換叢庫到主庫。
Oracle:既有推或拉式的傳統(tǒng)數(shù)據(jù)復制,也有dataguard的雙機或多機容災機制,主庫出現(xiàn)問題是,可以自動切換備庫到主庫,但配置管理較復雜。
8、分區(qū)表和分區(qū)索引
MySQL的分區(qū)表還不太成熟穩(wěn)定;Oracle的分區(qū)表和分區(qū)索引功能很成熟,可以提高用戶訪問db的體驗。
9、售后與費用
Oracle是收費的,出問題找客服;Mysql是免費的的,開源的,出問題自己解決。
10、權限與安全
Oracle的權限與安全概念比較傳統(tǒng),中規(guī)中矩;MySQL的用戶與主機有關,感覺沒有什么意義,另外更容易被仿冒主機及ip有可乘之機。
11、性能診斷方面
Oracle有各種成熟的性能診斷調優(yōu)工具,能實現(xiàn)很多自動分析、診斷功能。比如awr、addm、sqltrace、tkproof等 ;MySQL的診斷調優(yōu)方法較少,主要有慢查詢日志。
以上是“oracle與mysql有哪些區(qū)別”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。