Was ist der Unterschied zwischen MYSQL und SQL Server 2014 Express?


Antwort 1:

Als jemand, der täglich mit MySQL und SQL Server 2014 arbeitet, kann ich Ihnen sagen, was meiner Meinung nach die Hauptunterschiede sind (plus meine eigenen Vorlieben und Abneigungen von jedem).

SQL-SPRACHENIMPLEMENTIERUNG

SQL Server hat eine große Geschichte mit sich selbst. Sie haben eine Engine erstellt, die auf der Voraussetzung basiert, dass jede Abfrage einen Ausführungsplan benötigt. Sie haben bessere Tools in SQL Server, um Ihre Abfrage zu optimieren, indem Sie die Kosten Ihrer Abfrage visuell analysieren. MySQL fehlt diese Art von Analysetool, oder Sie müssen dafür bezahlen.

In MySQL können Sie dies tun: Wählen Sie a, b, c + y, count (d) als Zähler aus der ztable-Gruppe um 1,2 3. In SQL Server MÜSSEN Sie dies tun: Wählen Sie a, b, c + y, count ( d) als Zähler aus der ztable-Gruppe durch a, b, c + y.

In MySQL begrenzen Sie Ihre Abfragen mithilfe der LIMIT-Klausel. Beispielsweise:

SELECT * FROM SomeTable Limit 50, 10. Das ergibt aus den Ergebnissen der Abfrage nur die Zeilen 50 bis 59. Es ist für eine Reihe von Dingen nützlich.

SQL Server verwendet dieses SELECT * FROM dbo.SomeTable OFFSET 50 ROWS NUR NÄCHSTE 10 REIHEN.

Sie können das Gleiche tun, müssen jedoch viel mehr auf SQL Server schreiben.

In MySQL können Sie if (some_condition = true, useThisValueIfTrue, useThisValueIfFalse) verwenden. Sie können auch CASE: CASE verwenden, wenn a = true THEN 1 ELSE 0 END als SomeValue. In SQL Server haben Sie NUR CASE. Das gibt Ihnen verdammt viel mehr zu schreiben bei jeder Abfrage.

Auf der anderen Seite bietet SQL Server viel mehr Optionen für komplexe Abfragen. Es gibt PIVOT zum Erstellen von CROSSTAB-Abfragen, CROSSJOIN und viele andere Funktionen, die SQL Server für erweiterte Abfragen wirklich cool machen.

Beim Einfügen von Daten können Sie in MySQL Folgendes tun:

in mytable einfügen a = Wert, b = ein anderer Wert.

In SQL Server können Sie NUR den Klassiker verwenden:

in mytable (a, b) Werte einfügen (Wert, ein anderer Wert)

oder

in mytable Werte einfügen (Wert, ein anderer Wert)

In 2, 3, 4 Spalten ist dies wahrscheinlich nicht im geringsten umständlich, aber wenn Sie 40, 50 Spalten verschieben, ist es mühsam, eine Einfügung ohne Fehler vorzunehmen, insbesondere wenn es sich um komplexe berechnete Werte handelt.

Für mich schlägt MySQL SQL Server bei einfachen Abfragen, sogar bei 2-3 Tabellenabfragen. Bei langen, komplexen Abfragen ist SQL Server jedoch König.

Backups

Erneut wurde SQL Server unter Berücksichtigung komplexer Situationen entwickelt. Es gibt mindestens drei Möglichkeiten, eine vollständige Sicherung durchzuführen, und es gibt komplexe, inkrementelle Sicherungen, Binärdateien, Dateisysteme und Skripts. Sie sollten sich wahrscheinlich an die Binärdatei halten, aber es gibt eine Menge Sicherheitsprobleme, die Sie beim Wiederherstellen eines SQL-Servers gut beachten müssen. Das Wiederherstellen einer Sicherung in SQL Server ist NICHT FÜR UNGEBILDET. Sie müssen wissen, was Sie tun, sonst können Sie Ihre Datenbank durcheinander bringen. AUCH Wenn Ihre Datenbank nicht wirklich klein ist, würde ich niemals empfehlen, eine SQL-Dateiwiederherstellung auf SQL Server zu verwenden. Dies dauert ewig, und manchmal schlägt der Speicherauszug fehl und Sie lernen ihn 45 Minuten bis 1 Stunde später kennen, wenn Sie Glück haben .

Auf der anderen Seite geht es bei MySQL nur darum, SQL in eine Datei zu kopieren und dieses SQL wiederherzustellen. Es funktioniert, es ist einfach und Sie können problemlos jedes Medium für Power-User trainieren, um mit Backups zu arbeiten, und dies problemlos. ABER Sie müssen die Sicherheit auch selbst aufrechterhalten und gewährleisten, was je nach Umgebung manchmal umständlich sein kann.

FESTPLATTENNUTZUNG

Ich habe hier auf Quora irgendwo gelesen, als ein Typ sagte, dass die Festplattennutzung nicht wichtig ist, weil Speicher billig ist. Nun, es mag so sein, aber es ist immer noch irgendwie dumm, es zu verschwenden, nur weil.

Nun, MySQL ist sehr kompakt, ich habe einige Installationen in kleinen Unternehmen, die aus dem Jahr 2003 stammen, und die Daten haben nie 10 GB erreicht, und sie haben Tabellen mit Millionen von Zeilen, und dennoch sind die Daten nicht überproportional gewachsen.

In SQL Server hatte ich eine weitere Installation, die nach nur 2 Monaten 2 GB verschlang! SQL Server muss gewartet werden, Sie müssen Ihre Protokolle löschen, Sie müssen häufig binäre Backups erstellen, damit Ihr SQL Server die Wartung Ihrer Datenbank ermöglicht, und Sie müssen über eine Person verfügen, die weiß, wie mit den Daten umzugehen ist Fall, abhängig von der Anzahl der Benutzer, der Komplexität der Installation, der Art der Daten, die verarbeitet werden, weshalb DBAs an einigen Stellen ein Muss sind. MySQL kann mit einem mittelgroßen Power-User gewartet werden und ist in Ordnung.

Es gibt auch einige Dinge, die in SQL Server ohne SQL Profiler UND SQL Agent nicht möglich sind. MySQL kann alles alleine erledigen, ohne viel mehr als einen Dienst.

Abhängig von Ihrer Unternehmensgröße und -komplexität ist SQL Server möglicherweise der richtige Weg. Aber MySQL ist ein guter Anwärter, wenn Sie diese Komplexität nicht benötigen.

GESPEICHERTE VERFAHREN, FUNKTIONEN UND UDFS

Dies ist das Land der Kühnen in RDBMS. Ich produziere sogar einen Udemy-Kurs über SPs auf MySQL. Aber so sehr ich SPs, Trigger, Funktionen und alles, was mit MySQL zu tun hat, liebe, muss man es SQL Server geben. Sie haben es am besten.

Bevor Sie mich dafür enthaupten, möchte ich nur hinzufügen, dass die SPs auf SQL Server schnell sind, komplex sein können und viele Dienstprogramme haben, die Ihnen das Leben erleichtern. Sie können in anderen Sprachen wie c # und Visual Basic kompiliert werden. Sie können sogar TABLE-Variablen erstellen, die schneller und einfacher als temporäre Tabellen unter MySQL arbeiten können. Sie haben viel zu tun.

MySQL kann auch benutzerdefinierte Funktionen haben, aber Sie müssen C beherrschen. Wenn ja, müssen Sie sich keine Sorgen machen. Viele von uns sind es nicht.

Es gibt natürlich noch mehr, aber ich hoffe, Sie haben die Idee.

Viel Glück!


Antwort 2:

Wenn Sie SQL Server Express für Ihre Arbeit verwenden, stehen Ihnen einige Alternativen zur Verfügung. Das Überprüfen von SQL-Anfragen ist nur eines der zahlreichen Dinge, die Sie mit dem Präfix überprüfen können.

SQL Server Express bietet verschiedene Sonderziele. Das erste und anscheinend wichtigste ist die umfassende Vielseitigkeit und Koordination mit SQL Server.

Lesen Sie mehr: SQL Server Express | SQL Server Express-Versionen