Optimisation db

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 10 déc. 2007 à 14:15
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 10 déc. 2007 à 21:09
Yop à tous,

Voila je dévellope un petit programme pour gerer ma collection de film . Seulement voila, je me pose une question , qui est l'organisation de mes enregistrement. En effet, je sais que j'ai environs 800-900 films et donc je cherche à organiser les enregistrement de telle sorte à ce que ce soit le plus optimisé possible. J'ai pensé à 3 possibilités et je voudrait avoir votre avis.

- J'enregistre mes film en les chainant de manière trié dans le fichier. Et pour la recherche j'utiliserait le FileMapping.
- J'utilise un index qui serait une liste chainée trié par nom de film et qui aurait comme autre champ la position de l'enregistrement dans le fichier. Seule inconvénient , la recherche serait séquentiel et donc pas optimisé (O(n)).
- La mm chose que la 2ième proposion apart que l'index serait contenut dans un tableau de taille admettons de 1000 et donc la pour la recherche j'utilise la recherche dico, mais alors je suis limité en nombre d'enregistrements :s mm si il est possible d'élargir le tableau par la suite, mais bon c'est lourd comme truc.

Voila , merci d'avance.

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 déc. 2007 à 17:55
J'utilise des enregs de taille fixe pour ce genre de chose, aucun besoin d'index pour passer au suivant, hyper rapide.

ciao...
BruNews, MVP VC++
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
10 déc. 2007 à 18:24
Oui oui brunews, moi aussi, ce sont des struct FILM , mais elles seront sotcké dans un fichier, et c'est pour la rapidité de recherche d'un enregistrement que je cherche la meilleur solution. Soit je les trie dans le fichier en les chainant , mais pour la recherche je vai devoir faire à chaque fois 1 acces disk par enregistrement à moin d'utiliser le filemapping ou alors les autres possibilitées que j'ai dite, mais elles me paraissent moin performante.

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 déc. 2007 à 20:13
Les disques modernes sont très rapides, je n'ai aucun prob de perf, faut seulement que ce soit codé efficace.

ciao...
BruNews, MVP VC++
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
10 déc. 2007 à 20:45
Oki, et si j'utilise le filemapping ? cela n'augmenterai pas les perf ? car la recherche s'éffectuerai en mémoire et c'est l'os qui gèrerai les parties du fichier dont j'ai besoin. Qu'en penses-tu?

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 déc. 2007 à 21:09
Tout à fait envisageable.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous