2008-10-22 11 views

回答

2

我以前用過MySQL,最近我用的是MSSQL,但我不記得MySQL有和MSSQL無法做的任何事情。

我認爲MySQL的最殺手鐗功能就是簡單。對於某些項目,您不需要擁有像MSSQL這樣的龐大系統所擁有的全部功能。我有一個UNIX傳統,找到像my.ini這樣簡單的配置文件,這是MySQL的殺手鐗。

此外,MySQL的安全系統強大得多,但它使大多數應用程序的工作正確。我認爲從這個角度看,MySQL本身就是殺手鐗,應該保持這種狀態,讓年輕用戶首先以簡單的視角介紹RDBMS。如果您的項目變得足夠大,以至於您正在考慮切換到更強大的系統,那麼MSSQL可能會彈出一個可能性。

這就是發生在我身上的事。

-4

MySQL的TCO可能較低,因爲管理和配置比MS SQL使您通過大部分配置完成的Spaghetti GUI更簡單直接,不得不挖掘數百個不明確的屬性對話框來完成基本管理任務。

有一個領域,其中MS SQL顯然擅長對MySQL在我的經驗:

  • 集成與其他技術。 MS SQL允許您使用Oracle和MySQL數據庫來回複製,並提供SSIS以執行來自其他數據庫服務器的預定數據轉換。

有可能是其他人,但我沒有與他們的經驗。

+0

MsSQL中的全文是外部的(我認爲它使用了他們的桌面搜索引擎),您需要在添加數據後重新生成它的索引。 Oracle是一款完全內置的引擎,可以按照您的期望工作。 – gbjbaanb 2008-10-22 22:28:05

+0

這在SQL 2000中是正確的,但SQL Server 2005集成得更好,並提供了一個內置的觸發器設置,可在插入或更新新記錄時自動更新索引。我相信2008年更進一步,儘管我自己並沒有安裝它。 – 2008-10-22 22:31:37

+0

FULLTEXT在MySQL中可用嗎? – Till 2008-10-22 22:32:55

1

我唯一能想到的就是鎖定。 SQLServer傳統上有很差的鎖定策略,導致許多人絆倒。

你應該最終使用你喜歡的。它不像MySQL不足以與MS SQL競爭,例如。 Slashdot使用MySQL,所以它幾乎沒有高擴展性問題。

儘管它的殺手功能是免費的 - 您可以部署儘可能多的功能,而無需擔心有關授權問題的情況。對於軟件的傳播來說,這比任何人都能想象的更重要。

(TCO是很難計算的東西 - 。並建議從支付顧問和其他既得利益永遠只能給忽略這​​MSSQL是昂貴的,MySQL是免費的)

1

大約6年前,我開發了一個爲數據庫使用ASP和MySQL的自定義電子商務網站。在當時,MySQL顯然比MSDE更好的選擇,這個MSDE已經在節流中建立起來了,它足以讓我使用MySQL。另外,使用MySQL和MSDE/SQL之間的編碼差異並沒有那麼大或者不同。

現在所有這些年後,我試圖讓代碼轉換爲.NET,甚至從CRLab購買商業MySQL驅動程序。我發現,正如你所暗示的那樣,IDE集成並沒有達到標準。

我會說,即使我們的數據庫表接近4GB,MySQL也做得很好。所以當我切換到MSSQL時,我必須繼續並獲取SQL Workstation或更高版本($$$),而不要使用具有4GB限制的SQL Express。

我所有的經驗都改變了我開發新網站的方式。現在,除非預計會有很多流量。我使用VistaDB,然後根據需要升級到SQL Server。 VistaDB是與SQL Server兼容的語法和數據源。最好的部分是它只有一個數據庫文件和一個dll文件夾。

這是我的兩美分,基於我在ASP和現在的.NET中使用MySQL的個人經驗。

1

我經常使用MSSQL,MySql和PostGres(使用.net,java和PHP)。我最喜歡關於MySQL的一件事情(尤其是與MSSQL相比)是您可以輕鬆運行和恢復完整數據庫備份。

MSSQL使用.bak文件的模型非常醜陋且耗時(另一篇文章的主題)。但是如果你想做一些像自動化測試或自動化構建過程(包括從頭開始構建數據庫)的過程, MySQL可以更容易處理。

其他一些要點:

的管理工具已經得到了從初期好多了。

如果您有興趣交易的限制,等等。一定要定義你的表使用InnoDB存儲引擎(而不是它是專爲速度於MyISAM)。

我很想念MSSQL的模式生成工具,但我認爲那裏有相應的工具。

我們已經使用了Linux數據庫服務器和窗口的Web服務器(對於.net應用程序),並取得了巨大成功。

如果您正在使用像NHibernate的或其他一些非MS數據抽象層,把目光MSSQL的情況是強太多...

0

我一直在使用的MySQL社區版alsmost 99我的項目的百分比。我喜歡MySQL,我可以通過Xcopy進行部署,並且與其他「支持xcopy的」數據庫服務器相比功能強大。我也寫了一個封裝來啓動和停止Apache(像LAMP),但是具有我自己的實現和插件功能

1

需要考慮三點:不幸的是,前兩個是相互矛盾的:

1).NET和MySQL沒有設計爲彼此交互,也沒有任何一方的官方支持。你總是會遇到一些試圖將它們一起使用的問題。 2)如果Windows的可移植性可能會成爲一個問題(很多.NET代碼通過Mono在其他平臺上運行得非常好),那麼您就需要避免將自己的問題鎖定在MSSQL上。這並不意味着不使用它,但小心你不要太依賴它的特殊怪癖。

3)TCO只是一個流行詞。當以外的任何人計算它是完全無稽之談。沒有人能夠做出這樣的計算,並且誠實地聲稱它們在特定環境之外具有任何相關性。有太多因素,其中大部分與工具可用性等事情無關。

相關問題