1.6 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
. Nouvelles fonctionnalités prévues pour la version 4.1 . Nouvelles fonctionnalités prévues pour la version 5.0 . Nouvelles fonctionnalités prévues pour 5.1 . Ce qui doit être fait dans un futur proche ->Ce qui est prévu à moyen terme . Ce qui n'est pas prévu
|
1.6.5 Ce qui est prévu à moyen terme
-
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.
-
Vues simples (implémentation progressive jusqu'à support total).
Vues .
-
Fermer automatiquement des tables si une table, une table temporaire ou un
fichier temporaire reçoit une erreur 23 (plus assez de fichiers ouverts).
-
Meilleure propagation des constantes. Lorsqu'une occurrence de
col_name=n
est trouvée dans une expression, pour une
n
, remplacer les autres occurrences
de
col_name
de l'expression avec
n
.
Actuellement, cela n'arrive que pour les cas les plus simples.
-
Changer toutes les expressions constantes par des expressions calculées,
si possible.
-
Optimiser les comparaisons
key
=
expression
.
Actuellement, seules les relations
key
=
column
or
key
=
constant
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 de modification vers une base.
-
Améliorer
LIMIT
pour permettre la lecture de données à la fin du résultat.
-
Alertes lors des connexions/écritures/lectures 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).
-
Utiliser des sémaphores pour compter les threads. Il faut commencer
par implémenter des sémaphores pour
MIT-pthreads
.
-
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.
|