Wat is het verschil tussen MYSQL en SQL Server 2014 Express?


Antwoord 1:

Als iemand die dagelijks met zowel MySQL als SQL Server 2014 werkt, kan ik u vertellen wat volgens mij de belangrijkste verschillen zijn (plus mijn eigen voorkeuren en antipathieën van iedereen)

UITVOERING VAN DE SQL-TAAL

SQL Server heeft een enorme geschiedenis met zichzelf, ze bouwden een engine op basis van het uitgangspunt dat elke query een uitvoeringsplan nodig heeft, u hebt betere tools in SQL Server om uw query te optimaliseren door de kosten van uw query visueel te analyseren. MySQL mist dit soort analyse-instrument, of u moet ervoor betalen.

In MySQL kunt u dit doen: Selecteer a, b, c + y, count (d) als teller uit ztable group by 1,2 3. In SQL Server MOET u dit doen: Selecteer a, b, c + y, count ( d) als teller van ztable groep door a, b, c + y.

In MySQL beperkt u uw vragen door het gebruik van de LIMIT-clausule. Bijvoorbeeld:

SELECTEER * UIT Sommige tabellimiet 50, 10. Dat geeft u van de resultaten van de Query, alleen de rijen, 50 tot 59. Het is handig voor een aantal dingen.

SQL Server gebruikt deze SELECT * FROM dbo.SomeTable OFFSET 50 RIJEN FETCH ALLEEN 10 RIJEN.

U kunt hetzelfde doen, maar u moet nog veel meer schrijven op SQL Server.

In MySQL kunt u gebruiken als (some_condition = true, useThisValueIfTrue, useThisValueIfFalse), OOK CASE: CASE WHEN a = true THEN 1 ELSE 0 END als SomeValue. In SQL Server heeft u ALLEEN CASE. Dat geeft je veel meer om over elke zoekopdracht te schrijven.

Aan de andere kant heeft SQL Server nog veel meer opties als het gaat om complexe query's, er is PIVOT om CROSSTAB-query's te maken, er is CROSSJOIN en een heleboel andere functies die SQL Server echt cool maken voor geavanceerde query's.

Bij het invoegen van gegevens kunt u in MySQL dit doen:

voeg in mytable set a = waarde in, b = een andere waarde.

In SQL Server kunt u ALLEEN de klassieker gebruiken:

invoegen in mytable (a, b) waarden (waarde, een andere waarde)

of

invoegen in mytable waarden (waarde, een andere waarde)

Nu in 2, 3, 4 kolommen, is dit waarschijnlijk niet in het minst omslachtig, maar wanneer u 40, 50 kolommen duwt, is het lastig om een ​​invoeging te maken zonder fouten te maken, vooral wanneer er ingewikkelde berekende waarden bij betrokken zijn.

Dus voor mij verslaat MySQL SQL Server gemakkelijk bij eenvoudige vragen, zelfs 2-3 tabelvragen. Maar bij lange, complexe vragen is SQL Server de koning.

BACKUPS

Wederom werd SQL Server gebouwd met het denken over complexe situaties, er zijn minstens 3 manieren om een ​​volledige back-up te maken en er zijn complexe, incrementele back-ups, binair, bestandssysteem en script. Je moet je waarschijnlijk aan binair houden, maar er zijn VEEL beveiligingsproblemen die je GOED VOORZICHTIG moet zijn bij het herstellen van een SQL SERVER. Het herstellen van een back-up in SQL Server is NIET-VOOR-HET-ONBETROFFEN. Je moet weten wat je doet, anders kun je je database verknoeien. OOK Tenzij uw database erg klein is, zou ik nooit aanraden om een ​​SQL-bestandsherstel op SQL SERVER te gebruiken, het duurt een eeuwigheid en soms mislukt de dump en leert u het kennen, 45 minuten tot 1 uur later ALS u geluk hebt .

Aan de andere kant gaat MySQL over het dumpen van SQL in een bestand en het herstellen van die SQL. Het werkt, het is eenvoudig en u kunt eenvoudig elk medium trainen om power-gebruikers te laten werken met back-ups en zal het gemakkelijk doen zonder gedoe. MAAR je moet ook zelf de beveiliging onderhouden en verzekeren, wat soms lastig kan zijn, afhankelijk van je omgeving.

SCHIJFGEBRUIK

Ik las hier ergens op Quora toen een man zei dat schijfgebruik niet belangrijk is omdat opslag goedkoop is. Nou het is misschien zo, maar het is nog steeds een beetje dom om het te verspillen alleen maar omdat.

Nou, MySQL is erg compact, ik heb een paar installaties op kleine bedrijven die dateren uit 2003, en gegevens hebben nooit 10 GB bereikt, en ze hebben tabellen met miljoenen rijen, en toch zijn de gegevens niet buiten proportie gegroeid.

In SQL Server had ik nog een installatie, die al na 2 maanden 2 GB opliep! SQL Server moet worden onderhouden, u moet uw logboeken opruimen, u moet een back-up maken van frecuently binary om uw SQL Server in staat te stellen uw database te onderhouden en een persoon te hebben die weet hoe met de gegevens om te gaan met elke afhankelijk van het aantal gebruikers, de complexiteit van de installatie, het type gegevens dat wordt verwerkt, en daarom zijn DBA's op sommige plaatsen een must. MySQL kan worden onderhouden met een gemiddeld opgeleide power user en het komt goed.

Ook zijn er een paar dingen die niet kunnen worden gedaan in SQL Server zonder SQL Profiler EN SQL Agent te hebben. MySQL kan alles alleen doen, zonder veel meer dan één service.

Nogmaals, afhankelijk van de omvang en complexiteit van uw onderneming, is SQL Server wellicht de beste keuze. Maar MySQL is een goede mededinger als je die complexiteit niet nodig hebt.

OPGESLAGEN PROCEDURES, FUNCTIES EN UDFS

Dit is het land van de dapperen in RDBMS, ik produceer zelfs een Udemy-cursus over SP's op MySQL. Maar zoveel als ik van SP's, Triggers, Functies en alles MySQL hou, moet je het aan SQL SERVER geven, zij hebben het het beste.

Voordat je me onthoudt omdat ik dit zeg, wil ik er nog even aan toevoegen, de SP's op SQL Server zijn snel, kunnen complex zijn, ze hebben VEEL hulpprogramma's om je leven gemakkelijker te maken, ze kunnen worden gecompileerd in andere talen zoals c # en visual basic, u kunt zelfs TABLE-variabelen maken, die sneller en eenvoudiger kunnen werken dan tijdelijke tabellen op MySQL. Ze hebben veel te doen.

MySQL kan ook door de gebruiker gedefinieerde functies hebben, maar u moet bedreven zijn in C. Als u dat bent, hoeft u zich geen zorgen te maken. Velen van ons zijn dat niet.

Er zijn er natuurlijk meer, maar ik hoop dat je het idee krijgt.

Veel succes!


Antwoord 2:

SQL Server Express, dat zich uitstrekt van grote zakelijke keuzes, als u SQL in uw werk gebruikt, hebt u een paar alternatieven beschikbaar. Het controleren van SQL-vragen is slechts een van de vele dingen die u met Prefix kunt screenen.

SQL Server Express biedt verschillende aandachtspunten. De eerste en ogenschijnlijk meest essentiële is de totale veelzijdigheid en coördinatie met SQL Server.

Lees meer: ​​SQL Server Express | Versies van SQL Server Express