Mysql 與 Oracle的區別


1、mysql與oracle都是關系型數據庫,Oracle是大型數據庫,而MySQL是中小型數據庫。但是MySQL是開源的,但是Oracle是收費的,而且比較貴。

mysql默認端口:3306,默認用戶:root
oracle默認端口:1521,默認用戶:system

2、Oracle的內存占有量非常大,而mysql非常小,mysql安裝后差不多一兩百兆,而oracle則有3G左右,且使用的時候oracle占用特別大的內存空間和其他機器性能。

mysql登錄:mysql -hip -u用戶名 -p密碼 -P端口號 -D數據庫名(h:host、u:user、p:password)
oracle登錄:sqlplus user_name/password@ip:port/instance_name;(可以把IP地址,端口號,實例名寫在一個TNS文件中取一個別名,登陸的時候輸入這個別名就行)

oracle支持大並發,大訪問量,是OLTP最好的工具。

3、數據庫的層次結構:

mysql:默認用戶是root,用戶下可以創建好多數據庫,每個數據庫下還有好多表,一般情況下都是使用默認用戶,不會創建多個用戶;
oracle:創建一個數據庫,數據庫下有好多用戶:sys、system、scott等,不同用戶下有好多表,一般情況下只創建一個數據庫用。

4、數據庫中表字段類型:

mysql:int、float、double等數值型,varchar、char字符型,date、datetime、time、year、timestamp等日期型。
oracle:number(數值型),varchar2、varchar、char(字符型),date(日期型)等…

其中char(2)這樣定義,這個單位在oracle中2代表兩個字節,mysql中代表兩個字符。

其中varchar在mysql中,必須給長度例如varchar(10)不然插入的時候出錯。

5、主鍵

MySQL支持主鍵自增長,指定主鍵為auto increment,插入時會自動增長。Oracle主鍵一般使用序列。

6、引號處理:

MySQL字符串可以使用雙引號包起來,而Oracle只可以單引號

7、分頁:

MySQL分頁用limit關鍵字,而Oracle使用rownum字段表明位置,而且只能使用小於,不能使用大於。

8、對事物提交:

mysql默認是自動提交,可以修改為手動提交。
oracle默認不自動提交,需要手動提交,需要在寫commit指令或點擊commit按鈕。

9、事務隔離級別:

mysql是repeatable read的隔離級別,而oracle是read commited的隔離級別;
同時二者都支持serializable串行化事務隔離級別,可以實現最高級別的讀一致性。每個session提交后其它session才能看到提交的更改;
oracle通過在undo表空間中構造多版本數據塊來實現讀一致性,每個session查詢時,如果對應的數據塊發生變化,oracle會在undo空間中為這個session構造它查詢時的舊的數據塊;
mysql沒有類似oracle的構造多版本數據的機制,只支持read commited的隔離級別,一個session讀取數據時,其他session不能更改數據,但可以在表最后插入數據,session更新數據時,要加上排它鎖,其他session無法訪問數據。

10、並發性:

mysql以表級鎖為主,對資源鎖定的粒度很大,如果一個session對一個表加鎖時間過長,會讓其他session無法更新此表中的數據。雖然Innodb引擎表可以用行級鎖,但這個行級鎖的機制依賴於表的索引,如果表沒有索引,
或者sql語句沒有使用索引,那么仍然使用表級鎖; oracle使用行級鎖,對資源鎖定的粒度要小很多,只是鎖定sql需要的資源,並且加鎖是在數據庫中的數據行上,不依賴於索引,所以oracle對並發性的支持要好很多。

11、邏輯備份:

mysql邏輯備份時要鎖定數據,才能保證備份的數據是一致的,影響業務正常的dml使用。
oracle邏輯備份時不鎖定數據,且備份的數據是一致的。

12、判斷真假:

MySQL中0、1判斷真假,Oracle中true false

13、區分大小寫:

MySQL在windows環境下大小寫不敏感 在unix,linux環境下區分大小寫。
Oracle不區分

14、日期轉換:

mysql中日期轉換用dateformat()函數;
oracle用to_date()與to_char()兩個函數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM