Bonjour,
Je voudrais connaitre vos avis ...
Si vous aviez des enregistrements d'une table mis dans un container en mémoire qui permet l'accès direct (pour la dichotomie)
un "array de record" par exemple.
et que la clé soit sur 4 à 5 caractères de type Alphanumérique avec les caractères pris entre 0 et 9 ou entre A et Z (soit 36 symboles possibles)
(On rencontre le cas en gestion)
Si un besoin d'optimisation vitesse se faisait sentir pour des recherches en quantités.
Feriez-vous une recherche dans ce container mémoire par recherche dichotomique sur les clés ?
ou un accès direct a l'aide d'un index supplémentaire (array of integer) avec des entiers en base 36 ?
(oui, 3BZ09 est un nombre en base 36)
(pour la suite, A symbolise un chiffre en base 36)
En sachant que le cout mémoire d'un index AAAAA
est de (36^5) entiers sur 4 octets, soit quasiment 250Mo (241Mo), cela est inutilisable.
Par contre un index AAAA "coute" environ 6,7 Mo.
Personnellement je proposerais l'accès direct pour un index AA,AAA et AAAA et la dichotomie pour un index AAAAA,AAAAAA et +.
(Il doit cependant pourvoir exister un mix entre les 2 méthodes, pratique pour les très gros index)
Merci
![]()
Partager