Hard-copie d'une routine pour exécution sans condition préal
Publié : dim. 09/août/2015 21:01
L'exemple avec les maps est assez pertinent.
Prenons une routine d'accès de données.
Elle est exécutée systématiquement pour "accéder aux données".
La base de données change de taille.
La routine actuelle n'est plus adéquate.
Installons donc une suite de routines d'accès, et stockons leur adresse dans une VTable.
Problème: un saut sélectif est nécessaire. C'est plus lent qu'un simple saut.
Dégageons l'installation et ne gardons qu'un tampon de routine.
Dès qu'une map est créée, un petit tampon est créé et la routine initiale y copiée. Pour l'instant, strictement rien de nouveau. La routine est exécutée à chaque accès.
C'est quand une insertion/suppression est effectuée qu'un test de niveau de taille de base de données est effectué: si le niveau change, la routine d'accès est écrasée dans son tampon par une nouvelle routine adéquate au nouveau niveau. C'est une sorte de mise à jour à l'instar d'une boîte de vitesses séquentielle.
Les mises à jour peuvent reportées (si possible), en vue d'un "tir groupé".
L'accès aux données reste inchangé. La nature des routines fait gagner plus de temps que les mises à jour peuvent en faire perdre.
Prenons une routine d'accès de données.
Elle est exécutée systématiquement pour "accéder aux données".
La base de données change de taille.
La routine actuelle n'est plus adéquate.
Installons donc une suite de routines d'accès, et stockons leur adresse dans une VTable.
Problème: un saut sélectif est nécessaire. C'est plus lent qu'un simple saut.
Dégageons l'installation et ne gardons qu'un tampon de routine.
Dès qu'une map est créée, un petit tampon est créé et la routine initiale y copiée. Pour l'instant, strictement rien de nouveau. La routine est exécutée à chaque accès.
C'est quand une insertion/suppression est effectuée qu'un test de niveau de taille de base de données est effectué: si le niveau change, la routine d'accès est écrasée dans son tampon par une nouvelle routine adéquate au nouveau niveau. C'est une sorte de mise à jour à l'instar d'une boîte de vitesses séquentielle.
Les mises à jour peuvent reportées (si possible), en vue d'un "tir groupé".
L'accès aux données reste inchangé. La nature des routines fait gagner plus de temps que les mises à jour peuvent en faire perdre.