mysql和oracle有什么區別

mysql和oracle的區別有:mysql是屬于開源項目不收費而oracle需要收費,mysql默認的是自動提交而oracle不是,mysql的語法較為靈活而oracle語法嚴格等等

對于很多小型項目來說,MySQL數據庫可以基本上能夠實現各種功能的需求,但是隨著數據量的增大,MySQL就漸漸的出現不堪重負的情況,這時就需要用到Oracle數據庫,接下來在文章中將為大家具體介紹這兩者之間有什么區別,具有一定的參考作用,希望對大家有所幫助。

mysql和oracle有什么區別

【推薦課程:MySQL教程

mysql和oracle的區別

(1)項目性質

MySQL是開源項目,不收任何費用,而Oracle是一款成熟的數據庫產品是閉源的同時也是要收費的

(2)對事務的提交

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

(3)SQL語法不同

MySQL的SQL語法較為靈活,而Oracle的語法較為嚴格

(4)分頁查詢

MySQL是直接在SQL語句中寫”select… from …where…limit? x, y”,有limit就可以實現分頁;而Oracle則是需要用到偽列ROWNUM和嵌套查詢

(5)對事務的支持

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

(6) 保存數據的持久性

MySQL會在數據庫更新或者重啟之后會丟失數據,而Oracle把提交的sql操作線寫入了在線聯機日志文件中,保持到了磁盤上,可以隨時恢復

(7)線程的不同

MySQL是屬于單進程多線程,而Oracle是屬于多進程(在Windows下也是單進程)。與Windows操作系統和linux操作系統間的區別相似,Windows下只能使用一個用戶,或者你可以在不同用戶之間做切換,而Linux是多用戶或者相同用戶可以同時連接操作系統。

(8)權限與安全

MySQL的用戶與主機有關,而且容易被仿冒主機及ip有可乘之機;而Oracle的權限與安全概念比較傳統,中規中矩。

(9)分區表和分區索引

MySQL的分區表還不太成熟穩定,而Oracle的分區表和分區索引功能很成熟,可以提高用戶訪問db的體驗

(10)并發性

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

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

總結:

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享