Quelle est la différence entre MYSQL et SQL Server 2014 Express?


Réponse 1:

En tant que personne qui travaille quotidiennement avec MySQL et SQL Server 2014, je peux vous dire quelles sont, à mon avis, les principales différences (ainsi que mes propres goûts et dégoûts pour chacun)

MISE EN ŒUVRE DE LA LANGUE SQL

SQL Server a une longue histoire avec lui-même, ils ont construit un moteur basé sur la prémisse que chaque requête a besoin d'un plan d'exécution, vous avez de meilleurs outils dans SQL Server pour optimiser votre requête en analysant visuellement les coûts de votre requête. MySQL n'a pas ce genre d'outil d'analyse, ou vous devez le payer.

Dans MySQL, vous pouvez faire ceci: Sélectionnez a, b, c + y, compter (d) comme compteur du groupe ztable par 1,2 3. Dans SQL Server, vous DEVEZ faire ceci: Sélectionnez a, b, c + y, compter ( d) comme compteur du groupe ztable par a, b, c + y.

Dans MySQL, vous limitez vos requêtes en utilisant la clause LIMIT. Par exemple:

SELECT * FROM SomeTable Limit 50, 10. Cela vous donne des résultats de la requête, juste les lignes, 50 à 59. C'est utile pour un certain nombre de choses.

SQL Server utilise ce SELECT * FROM dbo.SomeTable OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY.

Vous pouvez faire de même, mais vous devez en écrire beaucoup plus sur SQL Server.

Dans MySQL, vous pouvez utiliser if (some_condition = true, useThisValueIfTrue, useThisValueIfFalse), vous pouvez également utiliser CASE: CASE WHEN a = true THEN 1 ELSE 0 END comme SomeValue. Dans SQL Server, vous n'avez que CASE. Ce qui vous donne beaucoup plus à écrire sur chaque requête.

Maintenant, d'autre part, SQL Server a beaucoup plus d'options en ce qui concerne les requêtes complexes, il y a PIVOT pour créer des requêtes CROSSTAB, il y a CROSSJOIN et beaucoup d'autres fonctions qui rendent SQL Server vraiment cool pour les requêtes avancées.

Lors de l'insertion de données, dans MySQL, vous pouvez faire ceci:

insérer dans mytable set a = value, b = anothervalue.

Dans SQL Server, vous ne pouvez utiliser que le classique:

insérer dans les valeurs de ma table (a, b) (valeur, autre valeur)

ou

insérer dans les valeurs de ma table (valeur, autre valeur)

Maintenant en 2, 3, 4 colonnes, ce n'est probablement pas le moins du monde encombrant, mais lorsque vous poussez 40, 50 colonnes, c'est difficile de faire un insert sans faire d'erreurs, surtout quand il y a des valeurs calculées complexes impliquées.

Donc pour moi, MySQL bat facilement SQL Server sur les requêtes simples, même 2-3 requêtes de table. Mais pour les requêtes longues et complexes, SQL Server est roi.

SAUVEGARDES

Encore une fois, SQL Server a été conçu en pensant à des situations complexes, il existe au moins 3 façons d'effectuer une sauvegarde complète, et il existe des sauvegardes incrémentielles complexes, binaires, système de fichiers et script. Vous devriez probablement vous en tenir au binaire, mais il y a UNE TONNE de problèmes de sécurité que vous devez BIEN CONNAÎTRE lors de la restauration d'un SERVEUR SQL. La restauration d'une sauvegarde dans SQL Server n'est PAS FORT THE THE UNTRAINED. Vous devez savoir ce que vous faites ou vous pouvez gâcher votre base de données. AUSSI À moins que votre base de données soit vraiment petite, je ne recommanderais jamais d'utiliser une restauration de fichiers SQL sur SQL SERVER, cela prend une éternité, et parfois le vidage échoue et vous apprenez à le connaître, 45 minutes à 1 heure plus tard SI vous avez de la chance .

D'un autre côté, MySQL consiste simplement à vider SQL dans un fichier et à restaurer ce SQL. Cela fonctionne, c'est simple et vous pouvez facilement former n'importe quel utilisateur moyen à expérimenté à travailler avec des sauvegardes et le fera facilement sans tracas. MAIS vous devez également maintenir et assurer vous-même la sécurité, ce qui peut parfois être lourd en fonction de votre environnement.

UTILISATION DU DISQUE

J'ai lu quelque part ici sur Quora quand un gars a dit que l'utilisation du disque n'était pas importante parce que le stockage était bon marché. C'est peut-être le cas, mais c'est quand même un peu stupide de le gaspiller juste parce que.

Eh bien, MySQL est très compact, j'ai quelques installations sur de petites entreprises qui remontent à 2003, et les données n'ont jamais atteint 10 Go, et elles ont des tables avec des millions de lignes, et pourtant, les données ne sont pas devenues hors de proportion.

Dans SQL Server, j'ai eu une autre installation, qui a consommé jusqu'à 2 Go après seulement 2 mois! SQL Server doit être maintenu, vous devez vider vos journaux, vous devez effectuer une sauvegarde binaire pour que votre SQL Server vous permette de faire la maintenance de votre base de données et avoir une personne qui sait comment gérer les données. cas, en fonction du nombre d'utilisateurs, de la complexité de l'installation, du type de données qui sont traitées, c'est pourquoi les DBA sont un must à certains endroits. MySQL peut être maintenu avec un utilisateur expérimenté moyen et ça ira.

Il y a aussi quelques choses qui ne peuvent pas être faites dans SQL Server sans avoir SQL Profiler AND SQL Agent. MySQL peut tout faire seul, sans plus d'un service.

Encore une fois, selon la taille et la complexité de votre entreprise, SQL Server peut être le chemin à parcourir. Mais MySQL est un bon candidat si vous n'avez pas besoin de ces complexités.

PROCÉDURES, FONCTIONS ET UDFS MÉMORISÉES

C'est le pays des audacieux en RDBMS, je produis même un cours Udemy sur les SP sur MySQL. Mais autant que j'aime les SP, les déclencheurs, les fonctions et tout MySQL, tu dois le donner à SQL SERVER, ils l'ont mieux fait.

Maintenant, avant de me décapiter pour avoir dit cela, permettez-moi d'ajouter que les SP sur SQL Server sont rapides, peuvent être complexes, ont BEAUCOUP d'utilitaires pour vous faciliter la vie, ils peuvent être compilés dans d'autres langages comme c # et Visual Basic, vous pouvez même créer des variables TABLE, qui peuvent fonctionner plus rapidement et plus facilement que les tables temporaires sur MySQL. Ils ont beaucoup de choses à faire.

MySQL peut également avoir des fonctions définies par l'utilisateur, mais vous devez être compétent en C. Si vous l'êtes, vous n'avez rien à craindre. Beaucoup d'entre nous ne le sont pas.

Il y en a bien sûr plus, mais j'espère que vous avez compris.

Bonne chance!


Réponse 2:

SQL Server Express s'étendant des choix des grandes entreprises, si vous utilisez SQL dans votre travail, vous avez quelques alternatives accessibles. La vérification des requêtes SQL n'est qu'une des nombreuses choses que vous pouvez filtrer avec Prefix.

SQL Server Express offre divers points d'intérêt. Le premier et apparemment le plus essentiel est la polyvalence totale et la coordination avec SQL Server.

En savoir plus: SQL Server Express | Versions de SQL Server Express