• Aucun résultat trouvé

Les fonctionnalit´es principales de MySQL

Dans le document Manuel MySQL pdf enjeux et pratiques (Page 30-33)

1.2 Qu’est ce que MySQL?

1.2.2 Les fonctionnalit´es principales de MySQL

La liste suivante d´ecrit les caract´eristiques principales du logiciel de bases de donn´ees MySQL. Voir Section 1.5 [MySQL 4.0 In A Nutshell], page 21.

Interne et portabilit´e

• Ecrit en C et C++. Test´e sur un large ´eventail de compilateurs diff´erents. • Fonctionne sur de nombreuses plate-formes. Voir Section 2.2.3 [Which OS],

page 74.

• Utilise GNU Automake, Autoconf et Libtool pour une meilleure portabilit´e. • Dispose d’API pour C, C++, Eiffel, Java, Perl, PHP, Python, Ruby et Tcl.

• Compl`etement multi-thread´e, grˆace aux threads du noyau. Cela signifie que

vous pouvez l’utiliser facilement sur un serveur avec plusieurs processeurs.

• Tables B-tree tr`es rapide, avec compression d’index.

• Syst`eme l’allocation m´emoire tr`es rapide, exploitant les threads.

• Jointures tr`es rapides, exploitant un syst`eme de jointures multiples en une

seule passe optimis´e.

• Tables en m´emoire, pour r´ealiser des tables temporaires.

• Les fonctions SQL sont impl´ement´ees grˆace `a une librairie de classes opti-

mis´ees, qui sont aussi rapides que possible! G´en´eralement, il n’y a aucune allocation m´emoire une fois que la requˆete a ´et´e initialis´ee.

• Le code de MySQL est v´erifi´e avec Purify (un utilitaire de d´etection

des fuites m´emoires commercial) ainsi qu’avec Valgrind, un outil GPL (http://developer.kde.org/~sewardj/).

Column Types

• Nombreux types de colonnes : entiers sign´es ou non, de 1, 2, 3, 4, et 8

octets, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET et ENUM. Voir Section 6.2 [Column types], page 416.

• Enregistrements de taille fixe ou variable.

• Toutes les colonnes ont des valeurs par d´efaut. Vous pouvez utiliser la

commande INSERT pour ins´erer un sous ensemble de colonnes : les colonnes qui ne sont pas explicitement cit´es prennent alors leur valeur par d´efaut. Commandes et fonctions

• Support complet des op´erateurs 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 syn-

taxes 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´ees.

Il est possible d’obtenir le nombre de lignes trouv´ees en modifiant une option lors de la connexion au serveur.

• La commande sp´ecifique `a MySQL SHOW est utilis´ee pour obtenir des in-

formations sur les bases, tables et index. La commande EXPLAIN sert `a optimiser les requˆetes.

• Les noms de fonctions ne sont jamis 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´er´e

entre le nom de la fonction et la parenth`ese ouvrante ‘(’ suivante. Voir Section 6.1.7 [Reserved words], page 414.

• Vous pouvez utiliser simultan´ement des tables de diff´erentes bases (depuis

la version 3.22). Securit´e

• Un syst`eme de droits et de mots de passe tr`es souple et s´ecuritaire, qui

v´erifie aussi les hˆotes se connectant. Les mots de passe sont bien prot´eg´es, car tout les ´echanges de mot de passe sont chiffr´es, mˆeme lors des connex- ions.

Charges support´ees et limites

• G`ere les tr`es grandes bases de donn´ees. 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 and et 5 000 000 000 (milliards) de lignes.

• Jusqu’`a 32 index sont permis par table. Chaque index est constitu´e de 1 `a

16 colonnes ou parties de colonnes. La taille maximale d’un index est de 500 octets (ce qui peut ˆetre configur´e `a la compilation du serveur MySQL. Un index peut utiliser un pr´efixe issu d’un champs CHAR ou VARCHAR. Connectivit´e

• Les clients peuvent se connecter au serveur MySQL en utilisant les sockets

TCP/IP, les sockets Unix (Unix) ou les Named Pipes (NT).

• Support de ODBC (Open-DataBase-Connectivity) pour Win32 (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. Voir Section 8.3 [ODBC], page 599.

Traductions

• Le serveur fournit des messages d’erreurs au client dans de nombreuses

langues, y compris le fran¸cais. Voir Section 4.6.2 [Languages], page 287.

• Support complet de plusieurs jeux de caract`eres, comprenant ISO-8859-

1 (Latin1), german, big5, ujis, and more. Par exemple, les caract`eres nordiques ’ ˆA’, ’¨a’ et ’¨o’ sont autoris´es dans les noms de tables et colonnes.

• Toutes les donn´ees sont sauv´ees dans le jeu de caract`eres choisi. Les com-

paraisons normales de chaˆines sont insensibles `a la casse.

• Le tri est fait en fonction du jeu de caract`eres choisi (par d´efaut, le jeu

su´edois). Il est possible de le changer lorsque le serveur MySQL est d´emarr´e. Pour voir un exemple tr`es avanc´e de tri, voyez le code de tri pour le Tch`eque. Le serveur MySQL supporte de nombreux jeux de caract`eres qui peuvent ˆetre sp´ecifi´e `a la compilation et durant l’ex´ecution.

Clients et utilitaires

• Inclut myisamchk, un utilitaire rapide pour v´erifier les tables, les opti-

miser et les r´eparer. Toutes les fonctionnalit´es de myisamchk sont aussi disponibles via l’interface SQL. Voir Chapitre 4 [MySQL Database Ad- ministration], page 192.

• Tous les programmes MySQL peuvent ˆetre appel´es avec l’option --help ou

-? pour obtenir de l’aide en ligne.

Dans le document Manuel MySQL pdf enjeux et pratiques (Page 30-33)