Qual è la differenza tra MYSQL e SQL Server 2014 Express?


Risposta 1:

Come persona che lavora quotidianamente con MySQL e SQL Server 2014, posso dirti quali sono le principali differenze (oltre ai miei gusti e alle mie antipatie)

ATTUAZIONE LINGUA SQL

SQL Server ha una storia enorme con se stesso, ha creato un motore basato sul presupposto che ogni query necessita di un piano di esecuzione, in SQL Server sono disponibili strumenti migliori per ottimizzare la query analizzando visivamente i costi della query. MySQL non ha questo tipo di strumento di analisi o devi pagare per questo.

In MySQL puoi farlo: Seleziona a, b, c + y, count (d) come contatore dal gruppo ztable di 1,2 3. In SQL Server DEVI farlo: Seleziona a, b, c + y, count ( d) come contatore dal gruppo ztable di a, b, c + y.

In MySQL puoi limitare le tue domande utilizzando la clausola LIMIT. Per esempio:

SELEZIONA * DA SomeTable Limit 50, 10. Questo ti dà dai risultati della Query, solo le righe, da 50 a 59. È utile per una serie di cose.

SQL Server utilizza SELECT * FROM dbo.SomeTable OFFSET 50 ROWS FETCH NEXT 10 SOLO.

Puoi fare lo stesso, ma devi scrivere molto di più su SQL Server.

In MySQL puoi usare if (some_condition = true, useThisValueIfTrue, useThisValueIfFalse), puoi anche usare CASE: CASE WHEN a = true THEN 1 ELSE 0 END as SomeValue. In SQL Server hai SOLO CASO. Il che ti dà molto di più da scrivere su ogni query.

D'altra parte, SQL Server ha molte più opzioni quando si tratta di query complesse, c'è PIVOT per creare query CROSSTAB, c'è CROSSJOIN e molte altre funzioni che rendono SQL Server davvero interessante per le query avanzate.

Quando si inseriscono i dati, in MySQL è possibile farlo:

inserire in mytable impostare a = valore, b = altro valore.

In SQL Server puoi utilizzare SOLO il classico:

inserire in valori mytable (a, b) (valore, altro valore)

o

inserire in valori mytable (valore, altro valore)

Ora in 2, 3, 4 colonne, questo probabilmente non è affatto ingombrante, ma quando si spingono 40, 50 colonne, è un dolore fare un inserto senza errori, specialmente quando sono coinvolti valori calcolati complessi.

Quindi per me, MySQL batte SQL Server facilmente su query semplici, anche 2-3 query di tabella. Ma su query lunghe e complesse, SQL Server è il re.

BACKUP

Ancora una volta, SQL Server è stato creato pensando a situazioni complesse, ci sono almeno 3 modi per fare un backup completo e ci sono backup complessi, incrementali, binari, file system e script. Probabilmente dovresti attenersi al binario, ma ci sono un sacco di problemi di sicurezza che devi essere WELL AWARE quando ripristini un SERVER SQL. Il ripristino di un backup in SQL Server NON È PERSISTENTE. Devi sapere cosa stai facendo o potresti rovinare il tuo database. A meno che il tuo database non sia veramente piccolo, non consiglierei mai e mai di utilizzare un Ripristino di file SQL su SERVER SQL, ci vuole un'eternità e a volte il dump fallisce e lo conosci, 45 minuti a 1 ora dopo SE sei fortunato .

D'altra parte MySQL si occupa solo di scaricare SQL in un file e ripristinarlo. Funziona, è semplice e puoi addestrare facilmente qualsiasi mezzo per potenziare l'utente a lavorare con i backup e lo farà facilmente senza problemi. MA devi anche mantenere e garantire tu stesso la sicurezza, che a volte può essere ingombrante a seconda del tuo ambiente.

USO DEL DISCO

Ho letto da qualche parte qui su Quora quando un ragazzo ha detto che l'uso del disco non è importante perché l'archiviazione è economica. Beh, potrebbe essere così, ma è ancora un po 'stupido sprecarlo solo perché.

Beh, MySQL è molto compatto, ho alcune installazioni su piccole aziende che risalgono al 2003 e i dati non hanno mai raggiunto i 10 GB e hanno tabelle con milioni di righe e, tuttavia, i dati non sono cresciuti in modo sproporzionato.

In SQL Server, ho avuto un'altra installazione, che ha mangiato 2 GB dopo solo 2 mesi! SQL Server deve essere gestito, è necessario cancellare i registri, è necessario eseguire il backup binario in modo corretto per consentire a SQL Server di consentire la manutenzione del database e disporre di una persona che sappia come gestire i dati caso, a seconda del numero di utenti, della complessità dell'installazione, del tipo di dati che vengono gestiti, motivo per cui i DBA sono indispensabili in alcuni punti. MySQL può essere mantenuto con un utente esperto di medio livello e andrà bene.

Inoltre ci sono alcune cose che non possono essere fatte in SQL Server senza avere SQL Profiler E SQL Agent. MySQL può fare tutto da solo, senza molto più di un servizio.

Ancora una volta, a seconda delle dimensioni e della complessità dell'azienda, SQL Server potrebbe essere la strada da percorrere. Ma MySQL è un buon contendente se non hai bisogno di quelle complessità.

PROCEDURE, FUNZIONI E UDFS MEMORIZZATE

Questa è la terra degli audaci in RDBMS, sto persino producendo un corso Udemy su SP su MySQL. Ma per quanto adoro SP, trigger, funzioni e tutto ciò che è MySQL, devi darlo a SERVER SQL, Hanno ottenuto il meglio.

Ora, prima di decapitarmi di dirlo, lasciatemi solo aggiungere, gli SP su SQL Server sono veloci, possono essere complessi, avere MOLTE utility per semplificare la vita che possono essere compilati in altre lingue come c # e Visual Basic, puoi persino creare variabili TABLE, che possono funzionare più velocemente e più facilmente delle tabelle temporanee su MySQL. Hanno molto da fare.

MySQL può avere anche funzioni definite dall'utente, ma devi essere competente in C. Se lo sei, non hai nulla di cui preoccuparti. Molti di noi non lo sono.

Ce ne sono altri ovviamente, ma spero che tu abbia avuto l'idea.

Buona fortuna!


Risposta 2:

SQL Server Express che si estende dalle grandi scelte aziendali, se usi SQL nel tuo lavoro, hai alcune alternative accessibili. Il controllo delle richieste SQL è solo una delle numerose cose che è possibile schermare con Prefisso.

SQL Server Express offre vari punti di interesse. Il primo e apparentemente più essenziale è la totale versatilità e coordinamento con SQL Server.

Ulteriori informazioni: SQL Server Express | Versioni di SQL Server Express