C# - MySQL vs. Microsoft SQL Server
Für die längste Zeit habe ich mit MySQL-Servern, um Daten zu behandeln (in JAVA und in C#). Aber in letzter Zeit, ich habe gehört, gute Dinge über LINQ und SQL-Server. Ich habe darüber nachgedacht zu konvertieren, aber ich weiß nicht viel über den SQL-Server.
Konnte jeder, der verwendete SQL-Server vor, bitte geben Sie an, wie gut es ist im Vergleich zu MySQL-server in Bezug auf performance und usability.
Ich habe auch gehört, dass SQL Server wäre besser für C#, da es im Grunde erbaut.
InformationsquelleAutor der Frage TheAJ | 2009-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich verwendet SQL Server seit vielen Jahren auf C# - Projekte, groß und klein, sondern wurden vor allem mit MySQL im letzten Jahr auf verschiedenen C# (aber open-source-und Start-bezogene) Projekte, die bereits mit MySQL.
Ich vermisse SQL-Server! In meiner Erfahrung, SQL-Server, ist in vieler Hinsicht besser:
ROW_NUMBER()
GROUPING_SETS
OPTIMIEREN
berechnete Spaltenetc.Dieser sagte, gibt es deutliche Nachteile, die möglicherweise oder möglicherweise kein deal-BREAKER für Sie:
Einschränkung: ich höre, dass MySQL 6.0 soll auf viele Lücken und Unterschiede oben, aber ich admittednly noch nicht gehalten, mich bis zur Geschwindigkeit mit, wie die Oracle-Sache, usw. wird den Zeitplan beeinflussen und/oder featureset.
re: Ihre "C#" built-in" Hinweis: ja, Sie entwickeln können gespeicherte Prozeduren, Funktionen, Aggregate, usw.. mit .NET-Sprachen, aber IMHO in den meisten Szenarien, das ist mehr ärger, als es lohnt sich, darunter da die Bereitstellung härter und DBAs sind weniger komfortabel mit .NET-code auf Ihren Servern. Die zu einem echten Gewinn für eine C# -+ .NET + Visual Studio + SQL-Server-Kombination, IMHO, ist, dass Sie entworfen wurden parallel über die letzten 10 Jahre für alle arbeiten gut zusammen, so erhalten Sie Benutzerfreundlichkeit und Synergie, die Sie erhalten möglicherweise nicht mit MySQL. Das heißt, wie ich oben erwähnt, ist dies nicht ein deal-breaker oder deal-maker... es ist einfach flüssiger mithilfe von SQL Server mit dem rest der Microsoft-stack.
Zusammenfassend, lassen Sie mich klar sein, dass für viele DB-workloads, MySQL ist gut genug-es funktioniert, es ist stabil, es ist schnell, es hat Recht gute tools, etc. Und es ist erschwinglich! 🙂 Ich würde niemals verweigern, ein Projekt einfach, weil Sie mit MySQL. Aber der Vergleich ist wie eine Fahrt mit einem Honda vs. BMW... der Honda bekommt Sie, wo Sie wollen zu gehen, aber wenn Ihre Geldbörse können, nehmen Sie es, genießen Sie die Fahrt viel mehr mit dem Bimmer. 🙂
InformationsquelleAutor der Antwort Justin Grant
Verwende ich ziemlich regelmäßig, und studiere zurzeit für meinen Sql Server MCTS, so kann ich wahrscheinlich werfen Sie ein paar nützliche Kommentare hier.
SQL Server ist ein viel, viel, viel mehr voll funktionsfähige Datenbank, vor allem in der version 2008. MySQL gar nicht unterstützen Spalte Einschränkungen (zum Beispiel, erstellen Sie eine int-Spalte und anschließend die Bestimmung der Wert zwischen 1 und 1000 - können nicht erzwingen, dass automatisch in der MySQL). SQL Server bietet full-text indexing, native XML-Spalten und-Bearbeitung, die mehrere Transaktions-Modi, komplexen security-Angebote, Replikation und verteilte Funktionen sowie ein gutes management suite.
In Bezug auf Ihre C# Kommentar, ja, der SQL Server hat die Fähigkeit zu importieren, CLR-Objekte, was bedeutet, dass man kompilieren kann einige .Net-code und legen Sie es in SQL Server-und Datenbank-Funktionen, die es verwenden. Dies ist besonders nützlich für die Erstellung von neuen Aggregat-Funktionen, so können Sie umgehen, Cursor und schneller CLR-code-Schleifen.
Können Sie auch optimieren Sie SQL Server, um den Griff, bis auf die locking und isolation-Modi, die es nutzt, und die CPU - /Speicher -, dass in einem bestimmten thread verwenden können.
MySQL, auf der anderen Seite, ist kostenlos und relativ einfach einzurichten, mit genug Möglichkeiten, dass die meisten website-Besitzer sind ziemlich glücklich mit es für Ihre grundlegenden CRUD-apps.
Wenn Sie verwenden möchten, Linq2Sql, dann müssen Sie SQL Server. Wenn Sie brauchen, Tonnen von erweiterten Funktionen, SQL-Server, ist der Weg zu gehen, das ist sicher.
InformationsquelleAutor der Antwort womp
Ich habe mit beiden aber weit mehr mit SqlServer. In ein großes Geschäft, vor allem, da viele Anwendungs-Architektur-Entscheidungen ergeben sich aus DB Architekten, SQL-Server bietet mehr. Replikation, SSIS, etc. Aber, diejenigen, die eine MENGE von Komplexität, und in meiner Erfahrung waren die Quelle von einem guten Teil der operativen Ausfälle.
Aber als datastore für eine software-Anwendung, die MySql unterstützt, was Sie brauchen, und ist einfach, zuverlässig, schnell und einfach.
Sprechen streng philosophisch, Sie wirklich wollen, Ihre Anwendung Logik der Anwendung code, nicht in komplexen SQL-und constraint-Definitionen. Gehen Sie für die Grundlagen in Ihrem datastore, und setzen Sie die Zeit, die Sie speichern in das Programm selbst.
InformationsquelleAutor der Antwort Rob Ferrante
LINQ ist eine Sprache, in seinem eigenen Recht und ist nicht gebunden an eine bestimmte Datenbank oder auch in einer Datenbank. Eigentlich ist es nur ein Werkzeug für die manipulation von strukturierten Daten-Sammlungen. Die zugrunde liegende Sprache, in der das DBMS geschrieben ist, sollte keine Rolle in Bezug auf das, was Sprache, die Sie verwenden.
InformationsquelleAutor der Antwort stimms
C# würde access, MySQL und SQLServer im Grunde identisch mit ADO.NET (oder LINQ - LINQ to SQL ist gebunden an SQL-Server, aber es scheint nicht zu haben, ein langes Leben vor sich), so wäre das nicht ein Faktor sein, der in meinem Kopf, obwohl Sie die IDE integration sein könnte.
Vorteile von SQL Server gehören würde, die komplette Bandbreite der Entwicklung-Unterstützung im SQL-Server, Agent-und Terminplanung, das security-Modell und Indizierung -, tuning-und anderen Funktionen wie Integration Services, Reporting Services und Analysis Services, die es relativ einfach zu verwalten große system-Infrastrukturen.
Ich glaube nicht, dass Sie schon genügend Informationen über Ihr system zu machen, die Wahl zwischen Ihnen offensichtlich an dieser Stelle.
InformationsquelleAutor der Antwort Cade Roux
Aus der Entwicklung (Codierung) Sicht ich arbeitete sowohl als Java-Entwickler und ein C# - Entwickler (in Verbindung mit sowohl über verschiedene Projekte, Java, SQL-Server, Java, MySQL, C# , MySQL, C# , SQLServer). Ich persönlich habe nicht wirklich bemerken, dass viel von einem Unterschied, obwohl ich gar nichts getan zu Komplex. Ich glaube nicht, dass es allzu viel zu befürchten, wenn Sie denken, es wird eine steile Lernkurve, es sei denn, Sie möchten Holen Sie sich in einige Reale nitty gritty server spezifische Sachen. Es gibt einige kleinere Unterschiede, aber nichts, dass jemand würde nicht abholen auf schnell.
InformationsquelleAutor der Antwort Ryan Elkins
Haben Sie mehr als ein full-featured open source Datenbank wie PostgreSQL. Es ist nichts falsch mit SQL-Server, aber es tut starten, Haken Sie in eine lizenzierte Stück software, können Sie bleiben Weg von, wenn Sie bleiben mit einem open-source-Gegenstück. Es hängt alles davon ab, wenn das ok mit Ihnen.
InformationsquelleAutor der Antwort Kuberchaun