mysql與oracle的區別

2022-03-12 12:19:46 字數 1105 閱讀 4509

1.  oracle是大型資料庫而mysql是中小型資料庫,oracle市場占有率達40%,mysql只有20%左右,同時mysql是開源的而oracle**非常高。

2. oracle支援大併發,大訪問量,是oltp最好的工具。

3. 安裝所用的空間差別也是很大的,mysql安裝完後才152m而oracle有3g左右,且使用的時候oracle占用特別大的記憶體空間和其他機器效能。

4.oracle也mysql操作上的一些區別

①主鍵 mysql一般使用自動增長型別,在建立表時只要指定表的主鍵為auto increment,插入記錄時,不需要再指定該記錄的主鍵值,mysql將自動增長;oracle沒有自動增長型別,主鍵一般使用的序列,插入記錄時將序列號的下乙個值付給該欄位即可;只是orm框架是只要是native主鍵生成策略即可。

②單引號的處理 mysql裡可以用雙引號包起字串,oracle裡只可以用單引號包起字串。在插入和修改字串前必須做單引號的替換:把所有出現的乙個單引號替換成兩個單引號。

③翻頁的sql語句的處理 mysql處理翻頁的sql語句比較簡單,用limit 開始位置, 記錄個數;oracle處理翻頁的sql語句就比較繁瑣了。每個結果集只有乙個rownum欄位標明它的位置, 並且只能用rownum<100, 不能用rownum>80

④ 長字串的處理 長字串的處理oracle也有它特殊的地方。insert和update時最大可操作的字串長度小於等於4000個單位元組, 如果要插入更長的字串, 請考慮欄位用clob型別,方法借用oracle裡自帶的dbms_lob程式包。插入修改記錄前一定要做進行非空和長度判斷,不能為空的字段值和超出長度字段值都應該提出警告,返回上次操作。 ⑤空字元的處理 mysql的非空字段也有空的內容,oracle裡定義了非空字段就不容許有空的內容。按mysql的not null來定義oracle表結構, 導資料的時候會產生錯誤。因此導資料時要對空字元進行判斷,如果為null或空字元,需要把它改成乙個空格的字串。

⑥字串的模糊比較 mysql裡用 欄位名 like '%字串%',oracle裡也可以用 欄位名 like '%字串%' 但這種方法不能使用索引, 速度不快。

⑦oracle實現了ansii sql中大部分功能,如,事務的隔離級別、傳播特性等而mysql在這方面還是比較的若

Oracle與MySQL的區別

一 併發性 oracle的併發性優於mysql的併發性,oracle使用行級鎖,資源鎖定的粒度較小 mysql使用的是表級鎖 二 一致性 oracle構造資料塊來實現讀一致性,mysql只支援read commited隔離級別,乙個session讀取資料時,其他session不能更改資料,只可以在表...

Oracle與MySql的區別

mysql查詢預設是不區分大小寫的 如 select from table name where a like a select from table name where a like a 效果是一樣的。要讓mysql查詢區分大小寫,可以 select from table name where ...

MySQL 與Oracle 的區別

我總結了一下幾點,一 本質區別 oracle資料庫是乙個物件關聯式資料庫管理系統,重點它是乙個收費的資料庫,所以連馬雲的阿里集團都選擇了mysql。mysql是乙個開源的關聯式資料庫管理系統,它是免費的,一般搞學習,我們認證mysql。三 事務 oracle很早就完全支援事務。mysql在innod...