1.8 Les évolutions de MySQL (la liste des tâches)
1 Informations générales
Manuel de Référence MySQL 4.1 : Version Française
. Ce que devrait inclure la version 4.0 ->Ce qui est prévu pour la version 4.1 . Ce qui doit être fait dans un futur proche . Ce qui est prévu pour plus tard . Ce qui n'est pas prévu
|
1.8.2 Ce qui est prévu pour la version 4.1 Les fonctionnalités suivantes sont prévues pour être ajoutées
dès la version 4.1. Notez que comme nous avons de nombreux développeurs
qui travaillent sur différents projets, il y aura aussi de nombreuses
améliorations. Il y a aussi de faibles chances pour que ces fonctionnalités
soient ajoutées à la version 4.0. Certaines fonctionnalités sont déjà
installées dans la version MySQL 4.1.
-
Sous-sélections.
SELECT id FROM t WHERE grp IN (SELECT grp FROM g WHERE u > 100);
|
-
Un nouveau format de définition de table (fichiers
.frm
). Il nous
permettra de ne pas être à court de place lors de l'ajout de nouvelles
options. Les anciens fichiers sont toujours compatibles avec la version
4.0. Toutes les nouvelles tables utiliseront ce nouveau format.Le nouveau format de fichier nous permettra d'ajouter de nouveaux types
de colonnes, plus d'options pour les clés, et alloueront de la place pour
les définitions des
FOREIGN KEY
.
-
SHOW COLUMNS FROM table_name
(utilisé par le client
mysql
pour afficher le détail des colonnes) ne devrait pas ouvrir la table,
mais uniquement le fichier de définition. Cela consommera moins de
mémoire, et sera plus rapide.
-
Le support des clés étrangères pour les tables
MyISAM
, incluant les
effacement en cascade.
-
La réplication infaillible.
-
La réplication devrait fonctionner avec la fonction
RAND()
et la
variable utilisateur
@var
.
-
Sauvegarde à chaud, avec faible réduction des performances. La sauvegarde
en ligne rendra simple le nouveau système de réplication, sans éteindre
le serveur maître.
-
Tables dérivées :
SELECT a.col1, b.col2 FROM (SELECT MAX(col1) AS col1 FROM root_table) a, other_table b WHERE a.col1=b.col1;
|
Cela peut se faire automatiquement, en créant des tables temporaires
pour les tables dérivées, pour la durée de la requête.
-
Fonction de groupement
ROLLUP
et
CUBE
OLAP (Online Analytical Processing)
pour les applications de dépôts de données.
-
Permettre que la commande
DELETE
, sur les tables
MyISAM
, utilise
le cache de lignes. Pour cela, nous devons modifier les threads de cache
de ligne lorsque nous modifions le fichier
.MYD
.
-
Lors de l'utilisation de
SET CHARACTER SET
, il faudrait traduire
toute la requête, et non pas seulement les chaînes. Cela permettra aux
utilisateurs d'utiliser les caractères traduits dans les noms de tables,
bases et colonnes.
-
Ajouter la méthode
record_in_range()
à la commande
MERGE
pour
être capable de choisir le bon index lorsqu'il y a trop de choix. Nous
devrions aussi étendre l'interface d'informations pour lire la distribution
des clés de chaque index, si
analyze
est exécuté sur toutes les tables.
-
Résoudre le problème avec la commande
RENAME TABLE
lorsqu'elle est utilisée
sur une table active
MERGE
, ce qui conduit actuellement à la corruption
de la table.
-
Une librairie MySQL intégrée plus rapide est plus compacte (compatible avec
l'ancienne).
-
Support OpenSSL stable (MySQL 4.0 supporte OpenSSL mais cela reste
rudimentaire et pas totalement testé).
-
Ajout du support en fonction de l'
UNICODE
.
-
Transtypage de jeux de caractères et des syntaxes pour gérer simultanément
plusieurs jeux de caractères.
-
Aide pour toutes les commandes du client.
-
Nouveau protocole client/serveur plus rapide qui supportera les
commandes préparées, les paramètres liés, et les résultats liés, les
transferts binaires de données, les alertes...
-
Ajout des vrais noms de tables et de bases (dans le cas d'un alias)
à la structure MYSQL_FIELD.
-
Ajout d'options au protocole client/serveur pour obtenir des informations
sur la progression des requêtes lentes.
-
L'implémentation de
RENAME DATABASE
. Pour que cela soit sécuritaire
pour tous les gestionnaires de table, cela doit fonctionner comme ceci :
-
Créer la nouvelle base de données.
-
Pour chaque table, renommer la table dans la nouvelle base de données,
en utilisant l'équivalent de la commande
RENAME
.
-
Effacer l'ancienne base de données.
-
Ajouter le vrai support des
VARCHAR
(Il y a déjà ce support avec les
tables
MyISAM
).
-
Optimiser le type
BIT
pour qu'il prenne un bit (actuellement,
BIT
prend un caractère).
-
Nouvelle interface interne avec les fichiers. Cela rendra plus générique
la gestion des fichiers, et rendra plus simple des extensions du type RAID.
(L'implémentation actuelle est un hack.)
-
Améliorer les tables en mémoire (
HEAP
) :
-
Support des index B-tree
-
Lignes de taille dynamique
-
Accélération de la gestion des lignes (moins de copie)
|