MySql與Oracle的區別總結


  在平時工作中使用這兩個數據庫的時候要多一些,這兩數據庫的使用方面存在的一些各自不同的地方,許多面試官也會問這兩個的區別。所以,憑着自己的一些經驗個感觸,來說說這二者的區別。

  1. 使用的群眾:MySql中小型數據庫,開源的免費使用,輕便簡單,當然也是初學者的最佳選擇,市場使用率排在Oracle之后;Oracle大型數據庫,需要高昂的價格,性能較好支持大並發大訪問量,是聯機事務處理(OLTP)的最好工具,所以市場的使用率也是相當高的。
  2. 安裝使用時,對電腦的性能要求也是不一樣的。MySql安裝完后僅占100M多點的內存,不怎么耗費電腦資源。但是Oracle由於功能強大,安裝完后會占用電腦3G的內存,並且運行時候所占電腦資源也是相當大的。
  3. 二者在使用時的區別:
  • 主鍵:

  MySql一般使用自動增長類型,在創建表的時候只要指定表的主鍵為auto increment,插入記錄時就不需要再為主鍵添加記錄了,主鍵會自動增長。Oracle中沒有自動增長,主鍵一般使用序列,插入記錄時將序列號的下一值付給該字段即可,只是ORM框架只是需要native主鍵生成策略即可。

  • 單引號的處理:

  MySql里可以使用雙引號來包起字符串,Oracle里要使用單引號包起字符串。

  • 分頁查詢:

  這個應該是兩者最明顯的區別了,很多人都知道MySql中分頁很簡單,因為他有專門的關鍵字limit來實現分頁查詢;但是Oracle里面沒有這種關鍵字來實現分頁查詢的,所以它實現起來就比MySql要繁瑣得多了,在每個結果集中只有一個rownum字段標明它的位置,並且只能用rownum<=某個數,不能用rownum>=某個數,因為ROWNUM是偽列,在使用時所以需要為ROWNUM取一個別名,變成邏輯列,然后來操作。

1 select * from (select ROWNUM as num,A.* from (select * from test) A where ROWNUM <=40) where num >= 20;

  這是這兩者的最大的不同.

 

  • 長字符串的處理:

  Oracle有它獨特的地方,數據類型有一個clob類型,此類型專門用於在insert或者update時候字符串長度大於等於4000個單字節時使用。所以在插入記錄前一定要進行非空和長度的判斷,不能為空的或者長度超出的都應該提出警告,返回上次操作。MySql就沒有這樣的數據類型。

  • 修改表的數據:

  Oracle數據庫在使用表的數據操作時,需要用sql語句來執行,比如:select * from table for update;這樣你才能對數據進行修改,修改完了之后記得點擊提交事務按鈕。MySql中修改或添加數據就簡單得多了,直接就可以設置數據,點擊refresh保存就好。

  這就是我個人在平時使用時,得到的一些切身感受,它們二者的區別肯定也不僅僅是這幾點,總結得不是很全面。存在不對的地方希望大家給出意見。

 


免責聲明!

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



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