1. 程式人生 > >MySql SqlServer Oracle三款 主流資料庫的比較

MySql SqlServer Oracle三款 主流資料庫的比較

對於程式開發人員而言,目前使用最流行的兩種後臺資料庫即為MySQL和SQLServer。這兩者最基本的相似之處在於資料儲存和屬於查詢系統。你可以使用sql來訪問這兩種資料庫的資料,因為它們都支援ansi-sql。 還有,這兩種資料庫系統都支援二進位制關鍵詞和關鍵索引,這就大大地加快了查詢速度。同時,二者也都提供支援xml的各種格式。除了在顯而易見的軟體價格上的區別之外,這兩個產品還有什麼明顯的區別嗎?在這二者之間你是如何選擇的?讓我們看看這兩個產品的主要的不同之處,包括髮行費用,效能以及它們的安全性。 

sqlserver是微軟的產品,和.net的結合比較的好,mysqlOracle是sun公司的和

Java的結合比較好,並且mysql的佔用記憶體小、有一個二進位制的儲存檔案,在轉移資料庫和備份 上比較的方便。


根本的區別是它們遵循的基本原則 

二者所遵循的基本原則是它們的主要區別:開放vs保守。 SQLServer伺服器的狹隘的,保守的儲存引擎與MySQL伺服器的可擴充套件,開放的儲存引擎絕然不同。雖然你可以使用SQLServer伺服器的 sybase引擎,但MySQL能夠提供更多種的選擇,如myisam, heap, innodb, and berkeley db。MySQL不完全支援陌生的關鍵詞,所以它比SQLServer伺服器要少一些相關的資料庫。同時,MySQL也缺乏一些儲存程式的功能,比如 myisam引擎聯支援交換功能。 


發行費用:MySQL不全是免費,但很便宜 

當提及發行的費用,這兩個產品採用兩種絕然不同的決策。對於SQLServer伺服器,獲取一個免費的開發費用最常的方式是購買微軟的office或者visual studio的費用。但是,如果你想用於商業產品的開發,你必須還要購買sql server standard edition。學校或非贏利的企業可以不考慮這一附加的費用。 

效能:先進的MySQL 

純粹就效能而言,MySQL是相當出色的,因為它包含一個預設桌面格式myisam。myisam 資料庫與磁碟非常地相容而不佔用過多的cpu和記憶體。MySQL可以運行於windows系統而不會發生衝突,在unix或類似unix系統上執行則更好。你還可以通過使用64位處理器來獲取額外的一些效能。因為MySQL在內部裡很多時候都使用64位的整數處理。Yahoo!商業網站就使用MySQL 作為後臺資料庫。 


當提及軟體的效能,SQLServer伺服器的穩定性要比它的競爭對手強很多。但是,這些特性也要付出代價的。比如,必須增加額外複雜操作,磁碟儲存,記憶體損耗等等。如果你的硬體和軟體不能充分支援SQLServer伺服器,我建議你最好選擇其他如dbms資料庫,因為這樣你會得到更好的結果。 

安全功能 

MySQL有一個用於改變資料的二進位制日誌。因為它是二進位制,這一日誌能夠快速地從主機上覆制資料到客戶機上。即使伺服器崩潰,這一二進位制日誌也會保持完整,而且複製的部分也不會受到損壞。 

在 SQLServer伺服器中,你也可以記錄SQLServer的有關查詢,但這需要付出很高的代價。 

安全性 

這兩個產品都有自己完整的安全機制。只要你遵循這些安全機制,一般程式都不會出現什麼問題。這兩者都使用預設的ip埠,但是有時候很不幸,這些ip也會被一些黑客闖入。當然,你也可以自己設定這些ip埠。 

恢復性:先進的sql伺服器 

恢復性也是 MySQL的一個特點,這主要表現在myisam配置中。這種方式有它固有的缺欠,如果你不慎損壞資料庫,結果可能會導致所有的資料丟失。然而,對於 SQLServer伺服器而言就表現得很穩鍵。SQLServer伺服器能夠時刻監測資料交換點並能夠把資料庫損壞的過程儲存下來。 

根據需要決定你的選擇 

對於這兩種資料庫,如果非要讓我說出到底哪一種更加出色,也許我會讓你失望。以我的觀點,任一對你的工作有幫助的資料庫都是很好的資料庫,沒有哪一個資料庫是絕對的出色,也沒有哪一個資料庫是絕對的差勁。我想要告訴你的是你應該多從你自己的需要出發,即你要完成什麼樣的任務?而不要單純地從軟體的功能出發。 

如果你想建立一個.net伺服器體系,這一體系可以從多個不同平臺訪問資料,參與資料庫的管理,那麼你可以選用SQLServer伺服器。如果你想建立一個第三方站點,這一站點可以從一些客戶端讀取資料,那麼MySQL將是最好的選擇。  

這兩者資料庫都能夠在.net或j2ee下執行正常,同樣,都能夠利用raid。 

=========================== 
ORACLE、 SQLSERVER、MYSQL與DB2的比較 
http://book.chinaz.com/CSDN/phppost5/php39602.htm 

    以下被引用:ORACLE 大型,完善,安全 
    SQLSERVER 簡單,介面友好,WINDOWS平臺下的好選擇 
    MYSQL 免費,功能不錯 
    DB2 超大型,與ORACLE類似 

    以下被引用:ORACLE 大型,完善,安全 
    SQLSERVER 簡單,介面友好,WINDOWS平臺下的好選擇 
    MYSQL 免費,功能不錯 
    DB2 超大型,與ORACLE類似 

    以下被引用:oracle:資料完整性,安全性要求較高的場合; 
    sqlserver(sybase和ms):ms的sqlserver簡單,好用,用於企業級的資料應用,效能沒有問題,支援所有大型 rdbms的特性; 
    mysql:基本免費,適合個人網站及一些小企業的網站應用; 
    db2:大型資料庫,特長在於資訊的存取。 

    以下被引用:Oracle 適用於較大型系統,但上手比較困難,即便上手後也很難提高。需要有長期的實踐和摸索,但確實比較適合大系統。備份與恢復比較完善,但必需很有經驗才能做的比較好。資料量不超過1T,可以用它 
    SqlServer:個人認為MS平臺下最好用的資料庫。介面簡單友好,操作方便,備份與恢復都比較容易學會。而且學會SqlServer後與SYBASE也比較接近的。 
    MYSQL以前學PHP用的,感覺比較簡單,無論是上手還是其本身的功能。 
    DB2 我在AS/400上和MS平臺都用過,感覺就是非常嚴謹,必須有非常規範的操作。如果資料量超過百G,建議用它。 

    以下被引用:oracle其實已經沒有什麼可以誇耀的了,看看他今年的業績也就知道了。他的技術現在就連微軟都能實現了,從技術上看實在是沒有什麼理由值得采用 
    DB2 的資料倉庫還是相當出色,資料探勘也很不錯,特別是叢集技術可以使DB2的可擴效能達到極致。看看今年的業績就知道DB2的優勢了,當然它的價格比其他的略貴,不過還是可以接受,至少遠遠低於oracle的價格 
    Sybase已經快要消亡了,現在很少有新系統會採用這個東西了,反正我現在的公司已經放棄這個了 
    MySQL不錯的東東,強烈推薦,但是用起來實在是另類,比如沒有儲存過程,如果不考慮叢集,其實他的效率要遠遠高於oracle 
    SQL Server微軟的東西,用起來感覺還不錯,但是因為不能使用在UNIX上,所以企業,電信,政府都不是很願意用。如果不是做ERP最好不要用這個東西,否則產品可能會買不出去 


sqlserver與oracle的區別 



Oracle可在所有主流平臺上執行。 

SQL Server只能在Windows下執行 

著資訊科技的飛速發展,資料處理不僅在數量上要求越來越大,而且在質量上也要求越來越高。Oracle資料庫在大多數企業中受到廣泛使用,而SQL Server資料庫也因為和Windows的聯絡,在企業中的使用也是非常廣泛。 

作業系統的穩定對資料庫來說是十分緊要的,在資料庫可操作平臺上,Oracle可在所有主流平臺上執行,Oracle資料庫採用開放的策略目標,它使得客戶可以選擇一種最適合他們特定需要的解決方案。客戶可以利用很多種第三方應用程式、工具。對開發商來說是很大的支援。而SQL Server卻只能在Windows上運行了,這個就顯得比較單調了,但SQL Sever在Window平臺上的表現,和Windows作業系統的整體結合程度,使用方便性,和Microsoft開發平臺的整合性都比Oracle強的很多。但Windows作業系統的穩定性及可靠性大家是有目共睹的,再說Microsoft公司的策略目標是將客戶都鎖定到Windows平臺的環境當中,只有隨著Windows效能的改善,SQL Server才能進一步提高。從操作平臺這點上Oracle是完全優勝於SQL Server的了。 

從資料上可以看到,Oracle的安全認證獲得最高認證級別的ISO標準認證,而SQL Server並沒有獲得什麼安全認證。這方面證明了Oracle的安全性是高於SQL Server的。 

購買一個產品,首先考慮的當然是產品的效能了,當考慮效能的同時當然少不了究竟要花多少錢在這產品也是個很關鍵的問題。要建立並執行一個數據庫系統。不僅僅包含最初購置軟體、硬體的費用,還包含了培訓及以後維護的費用。Orcale資料庫的價格是遠比SQL Server資料庫要高,為什麼Oracle資料庫比SQL Server資料庫價格上要高出那麼多,一方面Oracle的初始花費相對較高,特別是在考慮工具軟體的時候,Oracle很多工具軟體需要另外購買,與 Microsoft提供免費的SQL Server工具軟體相比,Oracle更顯價格的不菲。但由於SQL Server只能在Windows下執行的原因,普遍認為SQL Server資料庫的可靠性是比較差的。Oracle的效能優勢體現在他的多使用者上,而SQL Server的效能優勢在多使用者上就顯得力不從心了。 

操作上SQL Server明顯要比Orcale簡單,如果你用過Java和DOTNET的開發平臺,區別的基本就是Oracle和SQL Server不同,Oracle的介面基本是基於Java的,大部分的工具是Dos介面的,甚至SQLPlus也是, SQL Server是跟VB一樣,全圖形介面,很少見到DOS視窗。SQL Server中的企業管理器給使用者提供一個全圖形介面的整合管理控制檯來集中管理多個伺服器。Oracle也有自己的企業管理器,而且它的效能在某些方面甚至超過了SQL Server的企業管理器,但它安裝較為困難。 

Orcale資料庫和SQL Server資料庫那個更快?其實是一個很難答的問題,因為存在許多不定因素,包括處理型別、資料分佈以及硬體基礎設施等。 

SQL Server 2000是一個具備完全Web支援的資料庫產品,提供了可擴充套件標記語言核心支援以及Internet上和防火牆外進行查詢的能力,具有可伸縮性、靈活性、擴充性好,而且價格便宜等特點,而Oracle則有著可靠安全性,速度比SQL Server快上百倍,但其價格在實施中卻比SQL Server它高出了幾百倍。 

其實各行業考慮選擇那種資料庫,是由資料庫的特點以及根據自己的業務需求和基礎設施綜合考慮來決定的。 

oracle中有複合資料型別 sql server中沒有 
宣告方式:變數名 物件名%type 
這裡的變數型別可以是所有以存在的資料型別,具有依賴性 ,儲存過程中用這種變數比較靈活,但效率應該會低些 

oracle儲存過程中藉助cursor型別變數返回並訪問記錄集 sql server中我沒用過類似功能 

oracle裡這麼用:儲存過程中邊查詢邊給變數賦值 
select 某一列名 into 變數名 from table where ..; 

相當於oracle中的select 變數名=列....

轉自博主:阿狸_A_桃子   連結:http://blog.csdn.net/liwf_/article/details/8943369