選擇MySQL還是SQL Server

2021-06-17 16:03:53 字數 2960 閱讀 7803

除了在顯而易見的軟體**上的區別之外,這兩個產品還有什麼明顯的區別嗎?在這二者之間你是如何選擇的?讓我們看看這兩個產品的主要的不同之處,包括發行費用,效能以及它們的安全性。

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

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

效能:先進的mysql   

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

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

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

安全功能

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

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

安全性

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

恢復性:先進的sql伺服器

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

根據需要決定你的選擇

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

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

原文:

mysql和.net2.0配合使用

mysql現在的最新版本是5.x.第一次接觸它是在大二的時候,用php,那時好像還是4.x版本。

mysql5增加很多新的功能,開始支援:儲存過程、觸發器、檢視、資訊架構檢視等...

mysql在安裝時一如既往的比較複雜,往往就是乙個失敗的提示,沒有什麼其它提示原因。

這是一篇文章,比較mysql和sqlserver的,

mysql中文**

上資料很少,大多是些安裝幫助。

要查資料還是去mysql的**

。 mysql現在有提供的各種連線工具(

),.net下可以用的有connector/odbc和connector/net。

odbc連線效率可能稍低,最好還是用net直接的連線

這篇文章介紹了各種連線方法

news-and-events/press-release/release_2002_10.html

1:odbc連線

現在的版本是3.51,安裝之後,可以這樣操作:

// string constr = "driver = ; server = localhost; database =test; uid = root; password=;";

//string constr = "driver=;server=localhost;database=test;user=root;password=;option=3;";

string constr = "provider = mysql odbc 3.51 driver; server = localhost; database =test; uid = root; password=;";

trycatch(exception ex)

2:net連線:

mysql connector net 1.0.7:有net1.0;net.1;net2.0;mono1.0四個版本的connector。免費

corelab.mysql 3.5:這是個商業的版本,試用期30天。

下邊的**是使用mysql connector net 的例子。注意:他的parameter的字首是「?」而不是「@」。這個問題比較特殊。corelab裡面的parameter的字首就是「@」.

string connstr = string.format("server=;user id=; password=; database=; pooling=false;port=3308", "localhost", "root", "", "test");

try offset ";//設定分頁演算法

mysqlprovider.identityquery = "select last_insert_id()";//設定獲取剛剛插入記錄id的函式

3:ole連線:

現在還沒有來自官方的支援。

在vs2005中,直接引用for .net2.0版本的dll即可。至於那個商業版,就得費些功夫了,需要乙個許可檔案(拖動乙個conection元件到form上就能自動建立該許可)

附,連線字串可以到這裡查詢

, 夠全的了。

選擇現實,還是選擇愛情?

很多人不相信愛情。他們單純的相信著,愛情只有在童話故事裡存在,是人類臆想出來的虛無縹緲的產物。只有落在地上的房子和寫在銀行卡上的數字才是實際的存在。於是我們看到很多人在選擇愛情的時候,有了很多標準,要具備哪些條件,才會去戀愛。當然,大部分還是沒有那麼極端的,還是願意相信愛情的。只是有另外一些理由支援...

選擇View還是Container

絕大多數開發者在開發s60 應用的時候,都會對view和container概念產生誤解和迷惑。hide 2view究竟是什麼 3 container究竟又是什麼 4 我們為什麼需要views 5 我們為什麼需要container 1 sdk範例 大多數的範例程式都把繼承自ccoecontrol 的類...

選擇CMMI還是CMM

入世後,軟體企業的國際化程序也隨之加快,一些大型軟體企業完成cmm認證的同時,也為相當多的中小軟體企業帶來了希望,但他們在實施cmm的過程中,特別是在向cmm2前進時往往存在很多困惑和疑問。本文特別側重對處於這一過程的軟體企業碰到的各種疑難問題進行答疑解惑。袁慶平,現擔任北京博思美亞科技發展 sof...