Lors du partitionnement d'une table, on propose souvent de placer les vieilles informations dans une table d'archives, et de garder les informations récentes dans une table plus courte. De cette manière, les informations plus fréquentes sont plus faciles à retrouver.
Mais quand il faut quand même utiliser la table d'archives pour réaliser différentes vérifications (l'unicité par exemple), cela impose une double requête : une sur chaque table. Avec une archive qui est sur un media lent, la partition peut être plus finalement plus lente que l'architecture initiale.
Baron Schwartz a alors pensé à une astuce : en utilisant une variable MySQL, on peut repérer les résultats d'une première requête, et court-circuiter les requêtes suivantes.
- How to write a lazy UNION in MySQL
Mais quand il faut quand même utiliser la table d'archives pour réaliser différentes vérifications (l'unicité par exemple), cela impose une double requête : une sur chaque table. Avec une archive qui est sur un media lent, la partition peut être plus finalement plus lente que l'architecture initiale.
Baron Schwartz a alors pensé à une astuce : en utilisant une variable MySQL, on peut repérer les résultats d'une première requête, et court-circuiter les requêtes suivantes.
- How to write a lazy UNION in MySQL
-
Auteur
-
Origine