MySQL的特點
1、性能卓越,服務穩定,很少出現異常宕機;
2、開放源代碼無版本制約,自主性及使用成本低;
3、歷史悠久,社區和用戶非常活躍,遇到問題及時尋求幫助;
4、軟件體積小,安裝使用簡單且易於維護,維護成本低;品牌口碑效應;
5、支持多種OS,提供多種API接口,支持多種開發語言,對流行的PHP,Java很好的支持
MySQL的缺點
1、MySQL最大的缺點是其安全系統,主要是復雜而非標准,另外只有到調用mysqladmin來重讀用戶權限才會發生改變;
2、MySQL的另一個主要的途徑之一是缺乏標准的RI(Referential Integrity-RI)機制,RI限制的缺乏(在給定字段域上的一種固定的范圍限制)可以通過大量的數據類型來補償;
3、MySQL不支持熱備份;
Oracle的特點
1、兼容性:Oracle產品采用標准SQL,並經過美國u構架標准技術所(NIST)測試,與IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
2、可移植性:Oracle的產品可運行於很寬范圍的硬件與操作系統平台上。可以安裝在多種 大、中、小型機上,可在多種操作系統下工作。
3、可聯結性:Oracle能與多種通訊網絡相連,支持各種協議。
4、高生產率:Oracle產品提供了多種開發工具,能極大地方使用戶進行進一步的開發。
5、開放性:Oracle良好的兼容性、可移植性、可連接性和高生產率使Oracle RDBMS具有良好的開放性。
Oracle的缺點
1、對硬件要求很高;
2、價格比較昂貴;
3、管理維護麻煩一些;
4、操作比較復雜,需要技術含量高;
MySQL與Oracle的應用區別
1、主鍵的使用:
MySQL:一般使用自動增長類型,在創建表的時候只要指定表的主鍵為auto increment,插入記錄時就不需要再為主鍵添加記錄了,主鍵會自動增長;
Oracle:沒有自動增長,主鍵一般使用序列,插入記錄時將序列號的下一值付給該字段即可,只是ORM框架只是需要native主鍵生成策略即可。
2、長字符串的處理
長字符串的處理ORACLE也有它特殊的地方。INSERT和UPDATE時最大可操作的字符串長度小於等於4000個單字符,
如果要插入更長的字符串,請考慮字段用CLOB類型,方法借用ORACLE里自帶的DBMS_LOB程序包。插入修改記錄前一定要做進行非空和長度判斷,不能為空的字段值和超出長度值都應該提出警告,返回上次操作。
3、模糊查詢的比較
MySQL:用字段名like%'字符串%'
Oracle:也可以用字段名like%'字符串%'但這種方法不能使用索引,速度不快,用字符串比較函數
isnert(字段名,‘字符串’)>0會得到更精確的查找結果
4、空字符串的比較:
MySQL的非空字段也有空的內容,Oracle里定義了非空字段就不容許有空的內容。按MySQL的not null來定義Oracle表結構。
導數據的時候就會產生錯誤。因此導數據時對空字符進行判斷,如果為Null或空字符,需要把它改成一個空格的字符串。
5、單引號的處理
MySQL里可以用雙引號包起字符串,Oracle里只可以用單引號包起字符串,在插入和修改字符串前必須做單引的替換;
把所有出現的一個單引號替換成兩個單引號
