mSQLCette section a été écrite par des développeurs MySQL, et il doit être lu avec quelques reserves. Cependant, il n'y a AUCUNE erreur factuelle, autant que nous le sachions.
Pour une liste complète de toutes les limites, fonctions et types, allez à crash-me (en anglais).
mSQL est plus rapide dans les tches suivantes :@:
INSERT dans des tables simples, avec quelques colonnes et clés.
CREATE TABLE et DROP TABLE.
SELECT sur ce qui n'est pas un index. (l'analyse d'une table est très simple).
mSQL (et que
la plus part des implémentation SQL) dans les cas suivants :@:
SELECT complexes.
VARCHAR.
SELECT avec de nombreuses expressions.
SELECT sur les grandes tables.
mSQL, une fois la connexion établie, les autres doivent attendre que le premier ait terminé, quelque soit la requête lancée. Lorsque cette dernière est terminée, la connexion se termine, et la prochaine connexion est ouverte.
mSQL peut devenir desespérement lent si vous changez l'ordre des tables dans
la commande SELECT. Dans la suite de teste, il est arrivé que mSQL soit 15000 fois plus lent que MySQL
Cela est du à mSQL à qui manque un optimisateur de jointures. Cependant,
si vous placez les tables dans le bon ordre, si la clause WHERE est simple
et si elle utilise des colonnes indexées, la jointure sera plutôt rapide.
11 La suite de tests de MySQL.
ORDER BY et GROUP BY.
DISTINCT.
TEXT ou BLOB.
GROUP BY and HAVING.
mSQL ne supporte pas la clause GROUP BY.
MySQL supporte complètement la clause GROUP BY avec la clause HAVING et
les instructions suivantes :@: COUNT(), AVG(), MIN(),
MAX(), SUM() and STD(). COUNT(*) est optimisé pour retourner
TRES rapidement le bon compte si SELECT ne fait que compter dans une seule
table, sans colonne supplémentaire, ni clause WHERE. MIN() et MAX()
acceptent aussi des arguments chaînes.
INSERT et UPDATE avec calculs.
MySQL peut faire des calculs dans une commande INSERT et UPDATE.
Par exemple :@:
mysql> UPDATE SET x=x*10+y WHERE x<20;
SELECT avec des fonctions.
MySQL dispose de nombreuses fonctions (trop nombreuses pour être listées ici :@: allez à 7.3 Fonctions utilisées dans les clauses SELECT et WHERE).
MEDIUMINT qui ne prend que 3 octets. Si vous avez 100,000,000 enregistrements, économiser 25% de la place peut être primordial.
mSQL2 dispose de beaucoup moins de types de colonnes, et cela rend difficile la réduction de tables.
mSQL, et nous ne nous étendrons pas sur ce point.
mSQL, et il est aussi moins cher que mSQL.
Quelque soit le produit que vous décidez de choisir, pensez à prendre une licence ou un support email.
(Il vous faut aquérir une licence pour inclure MySQL dans un produit que vous vendez).
mSQL mais avec quelques fonctionnalités en plus.
mSQL dispose d'un pilote JDBC, mais nous n'avons que très peu d'expérience, et ne pouvons pas comparer.
GROUP BY etc...
ne sont pas implémentés dans mSQL, il a pas mal de retard.
Pour dire les choses simplement, il suffit de comparer le fichier d'historique
de mSQL et de le comparer à la section news de MySQL Reference Manual ( D Historique des versions de MySQL).
Le logiciel le plus rapidement developpé est une évidence.
mSQL et MySQL dispose d'outils partenaires très interssants.
Etant donné qu'il n'est pas facile de porter ces outils de MySQL à
mSQL), la plus part des applications interssantes, disponibles
pour mSQL sont aussi disponibles pour MySQL.
MySQL est livré avec un utilitaire tout simple, msql2mysql
qui corrige les problèmes d'orthographe dans les API C entre mSQL et MySQL
Par exemple, il va remplacer les appels à msqlConnect() par
mysql_connect(). Convertir un programme client de mSQL à MySQL
ne prend que quelques minutes.