Sommaire 27 Historique des changements MySQL
1.2 Qu'est ce que MySQL? MySQL
1.2.2 Les fonctionnalités principales de MySQL
La liste suivante décrit les caractéristiques principales du logiciel de bases de données MySQL
. Voyez la Plans de développements MySQL pour plus d'informations sur les fonctionnalités courantes et à venir.
Interne et portabilité
Ecrit en C et C++.
Testé sur un large éventail de compilateurs différents.
Fonctionne sur de nombreuses plates−formes. Plate−formes supportées par MySQL .
Utilise GNU Automake, Autoconf et Libtool pour une meilleure portabilité. Dispose d'API pour C, C++, Eiffel, Java, Perl, PHP, Python, Ruby et Tcl. Interfaces MySQL .
Complètement multi−threadé, grâce aux threads du noyau. Cela signifie que vous pouvez l'utiliser facilement sur un serveur avec plusieurs processeurs. Fournit des moteurs de tables transactionnels et non−transactionnels. Index B−tree
très rapide, avec compression d'index.
Facilité relative à ajouter un nouveau moteur de table. C'est utile si vous voulez ajouter une interface SQL à votre base de donnée maison. Système l'allocation mémoire très rapide, exploitant les threads.
Jointures très rapides, exploitant un système de jointures multiples en une seule passe optimisé.
Tables en mémoire, pour réaliser des tables temporaires.
Les fonctions SQL sont implémentées grâce à une bibliothèque de classes optimisées, qui sont aussi rapides que possible! Généralement, il n'y a aucune allocation mémoire une fois que la requête a été initialisée. Le code de MySQL
est vérifié avec Purify
(un utilitaire de détection des fuites mémoires commercial) ainsi qu'avec Valgrind, un outil GPL (
http://developer.kde.org/~sewardj/ ).
Types de colonnes
Nombreux types de colonnes : entiers signés ou non, de 1, 2, 3, 4, et 8 octets, FLOAT , DOUBLE , CHAR , VARCHAR , TEXT , BLOB , DATE , TIME , DATETIME , TIMESTAMP , YEAR , SET et ENUM . Types de colonnes .
Enregistrements de taille fixe ou variable.
Toutes les colonnes ont des valeurs par défaut. Vous pouvez utiliser la commande INSERT
pour insérer un sous ensemble de colonnes : les colonnes qui ne sont pas explicitement cités prennent alors leur valeur par défaut.
Commandes et fonctions
Support complet des opérateurs et fonctions dans la commande SELECT
et la clause WHERE
. Par exemple :
mysql> SELECT CONCAT(first_name, " ", last_name) −> FROM tbl_name
−> WHERE income/dependents > 10000 AND age > 30;
Support complet des clauses SQL GROUP BY
et ORDER BY
. Support des fonctions de groupages ( COUNT() , COUNT(DISTINCT ...) , AVG() , STD() , SUM() , MAX() et MIN() ). Support des clauses LEFT OUTER JOIN
et RIGHT OUTER JOIN
avec les syntaxes ANSI SQL et ODBC.
Les alias de tables et colonnes sont compatibles avec le standard SQL92.
DELETE
, INSERT
, REPLACE
et UPDATE
retourne le nombre de lignes affectées. Il est possible d'obtenir le nombre de lignes trouvées en modifiant une option lors de la connexion au serveur.
La commande spécifique à MySQL SHOW
est utilisée pour obtenir des informations sur les bases, tables et index. La commande EXPLAIN
sert à optimiser les requêtes.
Les noms de fonctions ne sont jamais en conflit avec les noms de tables ou colonnes. Par exemple, ABS
est un nom de colonne valide. La seule restriction est que, lors d'un appel de fonction, aucun espace n'est toléré entre le nom de la fonction et la parenthèse ouvrante '('
suivante. Est−ce que MySQL est sensible aux mots réservés ? .
Vous pouvez utiliser simultanément des tables de différentes bases (depuis la version 3.22).
Sécurité
Un système de droits et de mots de passe très souple et sécuritaire, qui vérifie aussi les hôtes se connectant. Les mots de passe sont bien protégés, car tout les échanges de mot de passe sont chiffrés, même lors des
connexions.
Charges supportées et limites
Gère les très grandes bases de données. Nous utilisons le serveur MySQL
avec des bases qui contiennent 50 millions de lignes et nous connaissons des utilisateurs qui utilisent le serveur MySQL
avec plus de 60 000 tables et 5 000 000 000 (milliards) de lignes.
Jusqu'à 32 index sont permis par table. Chaque index est constitué de 1 à 16 colonnes ou parties de colonnes. La taille maximale d'un index est de 500 octets (ce qui peut être configuré à la compilation du serveur MySQL
. Un index peut utiliser un préfixe issu d'un champs CHAR
ou VARCHAR
.
Connexions
Les clients peuvent se connecter au serveur MySQL
en utilisant les sockets TCP/IP, les sockets Unix ou les pipes nommés sous NT.
Support de ODBC
( Open−DataBase−Connectivity
) pour Windows 32 bits (avec les sources). Toutes les fonctions ODBC 2.5 et de nombreuses autres. Par exemple, vous pouvez utiliser MS Access pour vous connecter au serveur
MySQL
. What is ODBC? . L'interface Connector/JDBC
fournit le support pour les clients Java qui utilisent JDBC. Ces clients peuvent être utilisés sur Windows et Unix. Les sources de Connector/JDBC sont libres. MySQL et Java (JDBC) .
Traductions
Le serveur fournit des messages d'erreurs au client dans de nombreuses langues, y compris le français. Messages d'erreurs non−anglophones . Support complet de plusieurs jeux de caractères, comprenant ISO−8859−1
(Latin1), german
, big5
, ujis
, etc. Par exemple, les caractères nordiques 'Â'
, 'ä'
et
'ö'
sont autorisés dans les noms de tables et colonnes.
Toutes les données sont sauvées dans le jeu de caractères choisi. Les comparaisons normales de chaînes sont insensibles à la casse.
Le tri est fait en fonction du jeu de caractères choisi (par défaut, le jeu suédois). Il est possible de le changer lorsque le serveur MySQL
est démarré. Pour voir un exemple très avancé de tri, voyez le code de tri pour le Tchèque. Le serveur MySQL
supporte de nombreux jeux de caractères qui peuvent être spécifié à la compilation et durant l'exécution.
Clients et utilitaires
Inclut myisamchk
, un utilitaire rapide pour vérifier les tables, les optimiser et les réparer. Toutes les fonctionnalités de myisamchk
sont aussi disponibles via l'interface SQL. Administration de la base .
Tous les programmes MySQL
peuvent être appelés avec l'option −−help
ou −?
pour obtenir de l'aide en ligne.