• Aucun résultat trouvé

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.