我已經使用了兩者,我發現MySql有幾個令人沮喪的錯誤,對IDE集成,性能分析,集成服務,報告甚至缺乏一個體面的管理器的支持有限。 MSSQL Server的總體擁有成本比MySQL(.net環境)要低,但是保持開放的態度,有人可能會指出MySql的任何殺手級特性?除初始成本外,在.net上使用MySQL over MSQL服務器還有其他好處嗎?
回答
我以前用過MySQL,最近我用的是MSSQL,但我不記得MySQL有和MSSQL無法做的任何事情。
我認爲MySQL的最殺手鐗功能就是簡單。對於某些項目,您不需要擁有像MSSQL這樣的龐大系統所擁有的全部功能。我有一個UNIX傳統,找到像my.ini這樣簡單的配置文件,這是MySQL的殺手鐗。
此外,MySQL的安全系統強大得多,但它使大多數應用程序的工作正確。我認爲從這個角度看,MySQL本身就是殺手鐗,應該保持這種狀態,讓年輕用戶首先以簡單的視角介紹RDBMS。如果您的項目變得足夠大,以至於您正在考慮切換到更強大的系統,那麼MSSQL可能會彈出一個可能性。
這就是發生在我身上的事。
MySQL的TCO可能較低,因爲管理和配置比MS SQL使您通過大部分配置完成的Spaghetti GUI更簡單直接,不得不挖掘數百個不明確的屬性對話框來完成基本管理任務。
有一個領域,其中MS SQL顯然擅長對MySQL在我的經驗:
- 集成與其他技術。 MS SQL允許您使用Oracle和MySQL數據庫來回複製,並提供SSIS以執行來自其他數據庫服務器的預定數據轉換。
有可能是其他人,但我沒有與他們的經驗。
我唯一能想到的就是鎖定。 SQLServer傳統上有很差的鎖定策略,導致許多人絆倒。
你應該最終使用你喜歡的。它不像MySQL不足以與MS SQL競爭,例如。 Slashdot使用MySQL,所以它幾乎沒有高擴展性問題。
儘管它的殺手功能是免費的 - 您可以部署儘可能多的功能,而無需擔心有關授權問題的情況。對於軟件的傳播來說,這比任何人都能想象的更重要。
(TCO是很難計算的東西 - 。並建議從支付顧問和其他既得利益永遠只能給忽略這MSSQL是昂貴的,MySQL是免費的)
大約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的個人經驗。
我經常使用MSSQL,MySql和PostGres(使用.net,java和PHP)。我最喜歡關於MySQL的一件事情(尤其是與MSSQL相比)是您可以輕鬆運行和恢復完整數據庫備份。
MSSQL使用.bak文件的模型非常醜陋且耗時(另一篇文章的主題)。但是如果你想做一些像自動化測試或自動化構建過程(包括從頭開始構建數據庫)的過程, MySQL可以更容易處理。
其他一些要點:
的管理工具已經得到了從初期好多了。
如果您有興趣交易的限制,等等。一定要定義你的表使用InnoDB存儲引擎(而不是它是專爲速度於MyISAM)。
我很想念MSSQL的模式生成工具,但我認爲那裏有相應的工具。
我們已經使用了Linux數據庫服務器和窗口的Web服務器(對於.net應用程序),並取得了巨大成功。
如果您正在使用像NHibernate的或其他一些非MS數據抽象層,把目光MSSQL的情況是強太多...
我一直在使用的MySQL社區版alsmost 99我的項目的百分比。我喜歡MySQL,我可以通過Xcopy進行部署,並且與其他「支持xcopy的」數據庫服務器相比功能強大。我也寫了一個封裝來啓動和停止Apache(像LAMP),但是具有我自己的實現和插件功能
需要考慮三點:不幸的是,前兩個是相互矛盾的:
1).NET和MySQL沒有設計爲彼此交互,也沒有任何一方的官方支持。你總是會遇到一些試圖將它們一起使用的問題。 2)如果Windows的可移植性可能會成爲一個問題(很多.NET代碼通過Mono在其他平臺上運行得非常好),那麼您就需要避免將自己的問題鎖定在MSSQL上。這並不意味着不使用它,但小心你不要太依賴它的特殊怪癖。
3)TCO只是一個流行詞。當你以外的任何人計算它是完全無稽之談。沒有人能夠做出這樣的計算,並且誠實地聲稱它們在特定環境之外具有任何相關性。有太多因素,其中大部分與工具可用性等事情無關。
- 1. 除了MSXML以外,還有其他更好的IDOMImplementation嗎?
- 2. 除了TDD之外,鬆散耦合代碼還有其他好處嗎?
- 3. 除JavaEE和.NET之外,還有其他語言/平臺的應用服務器框架嗎?
- 4. 除了Android SDK之外,還有其他的Android模擬器嗎?
- 5. 除了MediaPlayer以外,還有其他的Android mp3播放器嗎?
- 6. 除了使用var關鍵字之外,還有其他方法可以初始化JS中的變量嗎?
- 7. 除委託之外還有其他協議用法嗎?
- 8. 除SDP外,還可以使用其他協議嗎?
- 9. 除了模擬持久任務之外,Thread.Sleep()還有其他用途嗎?
- 10. 在SQL Server中使用sql_variant over varchar有什麼好處嗎?
- 11. 處理iOS Exceptions除了Crittercism之外還有其他方法
- 12. 除了處理urlencode結果的編碼之外,還有其他因素嗎?
- 13. Scala:除了scala之外,還有其他的嘗試嗎?
- 14. 除了PIVOT之外,還有其他的方法嗎?
- 15. EOL == EOS除了BASIC之外還有其他語言嗎?
- 16. 除中斷驅動架構外,還有其他模型嗎?
- 17. 除了CURL以外,還有其他休息客戶選擇嗎?
- 18. 除貝寶外還有其他付款模塊嗎?
- 19. JavaBean除了getter和setter之外還有其他方法嗎?
- 20. 除了轉義引號之外,還有其他方法嗎?
- 21. 除了Siphon之外,iPhone還有其他的SIP實現嗎?
- 22. 除了使用預處理器指令之外,還有其他方法可以避免衝突類型嗎?
- 23. 使用塊初始化有什麼好處嗎?
- 24. Foreach還有其他嗎?
- 25. ,還有其他出口嗎?
- 26. Android使用kSoap以及.NET以外的其他web服務
- 27. 使用preg_replace刪除字符串。還有其他的選擇嗎?
- 28. 在調用其他Web服務時處理服務器故障
- 29. SQL腳本在此服務器上運行,但不在其他服務器上
- 30. 除文本中的SQL查詢外,是否還有其他內部MySQL協議?
MsSQL中的全文是外部的(我認爲它使用了他們的桌面搜索引擎),您需要在添加數據後重新生成它的索引。 Oracle是一款完全內置的引擎,可以按照您的期望工作。 – gbjbaanb 2008-10-22 22:28:05
這在SQL 2000中是正確的,但SQL Server 2005集成得更好,並提供了一個內置的觸發器設置,可在插入或更新新記錄時自動更新索引。我相信2008年更進一步,儘管我自己並沒有安裝它。 – 2008-10-22 22:31:37
FULLTEXT在MySQL中可用嗎? – Till 2008-10-22 22:32:55