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.4 Ce qui est prévu pour plus tard
-
Implémenter la fonction :
get_changed_tables(timeout,table1,table2,...)
.
-
Remplacer la lecture dans les tables par une zone mémoire aussi souvent que
possible. Actuellement, seules les tables compressées utilisent des
memmap.
-
Rendre le code des timestamp automatiques bien plus pratique. Ajouter les timestamps
dans le log avec
SET TIMESTAMP=#;
.
-
Utiliser un mutex de lecture/écriture pour gagner de la vitesse.
-
Ajouter le support complet des clés étrangères pour les tables
MyISAM
,
probablement après l'implémentation des procédures stockées et des triggers.
-
Des vues simples (sur une table, puis sur une expression).
-
Fermer automatiquement des tables si une table, une table temporaire ou un
fichier temporaire reçoit une erreur 23 (plus assez de fichiers ouverts).
-
Lors de la rencontre de field=#, changez toutes les occurrences du champ en
#. Actuellement, cela n'est fait que pour les cas simples.
-
Changer toutes les expressions constantes par des expressions calculées,
si possible.
-
Optimiser la relation clé = expression. Actuellement, seul les relations clé = champ
et clé = constante sont optimisées.
-
Fusionner les fonctions de copie pour améliorer le code.
-
Changez
sql_yacc.yy
pour le remplacer par un analyseur de ligne de commande
plus petit, et qui gère mieux les messages.
-
Changer l'analyseur pour utiliser uniquement une règle pour tous les
nombres d'arguments possibles dans une fonction.
-
Utiliser les calculs de noms complets dans la clause ORDER (pour ACCESS97).
-
MINUS
,
INTERSECT
et
FULL OUTER JOIN
.
(actuellement,
UNION
[en 4.0] et
LEFT OUTER JOIN
fonctionnent).
-
SQL_OPTION MAX_SELECT_TIME=#
pour donner une limite de temps à une requête.
-
Diriger le log d'historique vers une base.
-
Améliorer
LIMIT
pour permettre la lecture de données à la fin du résultat.
-
Alertes lors des connexion/écriture/lecture du client.
-
Notez ces modifications de
safe_mysqld
: selon la FSSTND (que
Debian essaie de suivre) les fichiers PID devraient être placés dans
/var/run/<progname>.pid
et les fichiers de logs dans
/var/log
.
Il serait bien si vous pouviez mettre le "DATADIR" dans la première
déclaration de "pidfile" et "log", de façon à ce que l'emplacement
de ces fichiers puisse être modifié en une seule ligne.
-
Permettre au client de commander le log des actions.
-
Ajouter l'utilisation de
zlib()
pour les fichiers
gzip
, avec la
commande
LOAD DATA INFILE
.
-
Corriger le tri et le groupage avec les colonnes
BLOB
(en partie résolu).
-
Procédures stockées. Les triggers sont aussi au programme.
-
Un langage de modification simple et atomique, qui peut
être utilisé pour écrire des boucles dans le serveur MySQL.
-
Utiliser des sémaphores pour compter les threads. Il faut commencer
par implémenter des sémaphores pour MIT-pthreads.
-
Ne pas assigner de nouvelle valeur
AUTO_INCREMENT
lorsque l'on utilise
la valeur 0. Utilisez
NULL
à la place.
-
Ajouter le support complet pour les
JOIN
avec parenthèses.
-
Comme alternative à la relation un thread, une connexion, gérer un groupe
de threads pour répondre aux requêtes.
-
Permettre la pose de plusieurs verrous avec
GET_LOCK
. Lors de ces verrous
multiples, gérer le cas des blocages par verrous qui pourrait être introduit.
Le temps est indiqué en temps de travail et non pas en temps normal.
|