Care este diferența dintre MYSQL și SQL Server 2014 Express?


Răspunsul 1:

Ca cineva care lucrează atât cu MySQL, cât și cu SQL Server 2014 zilnic, vă pot spune care cred că sunt principalele diferențe (plus propriile mele like-uri și nu-i place de fiecare)

Implementarea limbii SQL

SQL Server are o istorie uriașă cu sine, au construit un motor bazat pe premisa că fiecare interogare are nevoie de un plan de execuție, aveți instrumente mai bune în SQL Server pentru a vă optimiza interogarea analizând vizual costurile interogării. MySQL nu are acest tip de instrument de analiză sau trebuie să plătiți pentru asta.

În MySQL puteți face acest lucru: Selectați a, b, c + y, numărați (d) ca contor din grupul ztable cu 1,2 3. În SQL Server trebuie să faceți acest lucru: Selectați a, b, c + y, numărați ( d) ca contor din grupul ztable cu a, b, c + y.

În MySQL vă limitați întrebările prin utilizarea clauzei LIMIT. De exemplu:

SELECTA * DIN SomeTable Limit 50, 10. Acest lucru vă oferă rezultatele interogării, doar rândurile, 50 la 59. Este util pentru o serie de lucruri.

SQL Server folosește acest SELECT * DE la dbo.SomeTable OFFSET 50 ROWS FETCH NEXT 10 ROWS.

Puteți face același lucru, dar trebuie să scrieți multe altele pe SQL Server.

În MySQL puteți utiliza dacă (some_condition = true, useThisValueIfTrue, useThisValueIfFalse), puteți DE asemenea să folosiți CASE: CASE WHEN a = true THEN 1 ELSE 0 END ca SomeValue. În SQL Server aveți NUMAI CASE. Ceea ce îți oferă mult mai mult să scrii pe fiecare interogare.

Acum, pe de altă parte, SQL Server are mult mai multe opțiuni atunci când vine vorba de interogări complexe, există PIVOT pentru a crea interogări CROSSTAB, există CROSSJOIN și o mulțime de alte funcții care fac SQL Server cu adevărat interesant pentru interogări avansate.

Când inserați date, în MySQL puteți face acest lucru:

inserați în setul de mese a = valoare, b = o altă valoare.

În SQL Server puteți utiliza DOAR clasicul:

inserați în mytable (a, b) valori (valoare, altă valoare)

sau

inserați în valorile mytable (valoare, altă valoare)

Acum, în 2, 3, 4 coloane, aceasta nu este probabil cea mai greoaie, dar atunci când împingeți 40, 50 de coloane, este o durere să faceți o inserție fără a greși, mai ales atunci când există valori calculate complexe.

Deci, pentru mine, MySQL bate SQL Server cu ușurință la interogări simple, chiar și 2-3 interogări de masă. Dar la interogări lungi și complexe, SQL Server este King.

Copiile de rezervă

Încă o dată, SQL Server a fost construit gândindu-se la situații complexe, există cel puțin 3 moduri de a face o copie de rezervă completă și există backup-uri complexe, incrementale, binare, sistem de fișiere și script. Probabil ar trebui să rămâneți la binare, dar există o tonă de probleme de securitate, trebuie să fiți BUN BUNURI la restaurarea unui SERVER SQL. Restaurarea unei copii de rezervă în SQL Server NU ESTE ÎNCĂRCATĂ. Trebuie să știți ce faceți sau este posibil să vă încurcați baza de date. De asemenea, dacă baza de date nu este într-adevăr mică, nu aș recomanda niciodată să folosești o restaurare de fișiere SQL pe SQL SERVER, este nevoie pentru totdeauna, iar uneori dump-ul eșuează și o să o cunoști, 45 de minute până la 1 oră mai târziu, dacă ai noroc .

Pe de altă parte, MySQL se referă doar la expedierea SQL într-un fișier și la refacerea SQL. Funcționează, este simplu și puteți antrena cu ușurință orice utilizator de putere medie pentru a lucra cu copii de rezervă și o va face cu ușurință fără probleme. DAR, de asemenea, trebuie să vă mențineți și să vă asigurați securitatea, care poate fi greoaie uneori în funcție de mediul dvs.

UTILIZAREA DISCULUI

Am citit undeva aici pe Quora, când un tip a spus că utilizarea discului nu este importantă, deoarece stocarea este ieftină. Ei bine, poate să fie așa, dar totuși este cam prost pentru a o pierde doar pentru că.

Ei bine, MySQL este foarte compact, am câteva instalări pe companiile mici care datează din 2003, iar datele nu au ajuns niciodată la 10 GB și au tabele cu milioane de rânduri și, totuși, datele nu au crescut proporțional.

În SQL Server, am avut o altă instalare, care a mâncat până la 2 GB după numai 2 luni! SQL Server trebuie să fie întreținut, trebuie să vă ștergeți jurnalele, trebuie să faceți o copie de siguranță binară pentru a avea SQL Server vă permite să întrețineți baza de date și să aveți o persoană care știe să gestioneze datele de lucru cu fiecare caz, în funcție de numărul de utilizatori, complexitatea instalării, tipul de date care sunt gestionate, motiv pentru care DBA-urile sunt obligatorii în anumite locuri. MySQL poate fi întreținut cu un utilizator cu putere medie și va fi bine.

De asemenea, există câteva lucruri care nu pot fi făcute în SQL Server fără a avea Profiler SQL ȘI SQL Agent. MySQL poate face totul de unul singur, fără mult mai mult de un serviciu.

Încă o dată, în funcție de dimensiunea și complexitatea întreprinderii dvs., SQL Server poate fi calea de urmat. Dar MySQL este un bun concurent dacă nu ai nevoie de aceste complexități.

PROCEDURI, FUNCȚII ȘI UDF-uri DE PĂSTRARE

Acesta este terenul îndrăznețului în RDBMS, chiar produc un curs Udemy pe SP-uri pe MySQL. Dar, atât cât iubesc SP-urile, declanșatoarele, funcțiile și tot ceea ce MySQL, trebuie să-l dați la SQL SERVER, le-a primit cel mai bine.

Acum, înainte de a mă deconecta pentru că spun asta, permiteți-mi să adaug, SP-urile de pe SQL Server sunt rapide, pot fi complexe, au o mulțime de utilități pentru a vă face viața mai ușoară, ele pot fi compilate în alte limbi precum c # și vizual basic, puteți crea chiar și variabile TABLE, care pot funcționa mai rapid și mai ușor decât tabelele temporare pe MySQL. Au multe de mers.

MySQL poate avea și funcții definite de utilizator, dar trebuie să fii priceput în C. Dacă ești, nu ai de ce să te temi. Mulți dintre noi nu suntem.

Există mai multe desigur, dar sper să vă faceți ideea.

Mult noroc!


Răspunsul 2:

SQL Server Express se extinde din opțiunile de afaceri mari, dacă utilizați SQL în activitatea dvs., aveți câteva alternative accesibile. Verificarea întrebărilor SQL nu este decât unul dintre numeroasele lucruri pe care le puteți ecraniza cu Prefix.

SQL Server Express oferă diverse puncte de interes. Prima și aparent cea mai esențială este versatilitatea totală și coordonarea cu SQL Server.

Citiți mai multe: SQL Server Express | Versiuni SQL Server Express