Unterschiede zwischen MySQL und SQL Server

Ich bin ein ASP.NET-Entwickler, der Microsoft SQL Server für alle meine Datenbankanforderungen verwendet hat (sowohl bei der Arbeit als auch für persönliche Projekte).

Ich erwäge, den LAMP-Stack für einige meiner persönlichen Projekte auszuprobieren.

Was sind die Hauptunterschiede zwischen MySQL und SQL Server? Ist die Verwendung von gespeicherten Prozeduren in MySQL eine gängige Praxis?

Haben Sie irgendwelche Ratschläge oder Ressourcen, die Sie mir bei der Umstellung empfehlen können?

An diejenigen, die Erfahrung mit beiden haben: Gibt es irgendwelche fehlenden Funktionen von MySQL?

Lösung

Eine Sache, auf die Sie achten müssen, sind die ziemlich großen Unterschiede in der Art und Weise, wie SQL Server und MySQL die SQL-Syntax implementieren.

Hier's ein schöner Vergleich verschiedener SQL-Implementierungen.

Werfen Sie zum Beispiel einen Blick auf den Abschnitt top-n. In MySQL:

SELECT age
FROM person
ORDER BY age ASC
LIMIT 1 OFFSET 2

In SQL Server (T-SQL):

SELECT TOP 3 WITH TIES *
FROM person
ORDER BY age ASC
Kommentare (6)

Ich denke, eines der wichtigsten Dinge, auf die man achten sollte, ist, daß Versionen vor MySQL 5.0 keine Views, Trigger und Stored Procedures hatten.

Mehr dazu erfahren Sie auf der MySQL 5.0 Download-Seite.

Kommentare (0)

Hat jemand gute Erfahrungen mit einer "port" einer Datenbank von SQL Server zu MySQL?

Das dürfte ziemlich schmerzhaft sein! Ich habe die Version von MySQL von 4.x auf 5.x gewechselt und verschiedene Anweisungen funktionierten nicht mehr wie früher. Der Query Analyzer wurde "verbessert", so dass Anweisungen, die zuvor auf Leistung getrimmt waren, nicht mehr wie erwartet funktionieren.

Die Lektion, die ich bei der Arbeit mit einer 500GB MySQL-Datenbank gelernt habe: Es ist ein heikles Thema und alles andere als trivial!

Kommentare (0)