-
Méthode la plus rapide ?
Bonjour,
je souhaite faire un visualisateur de pages (d'un livre, d'un mangas...).
Les pages d'un même livre seront rangées dans un dossier dans l'ordre alphabétique/numérique correspondant aux pages (Je pense que c'est normal, et le plus simple).
Ensuite, me voilà confronté à deux méthodes:
- Soit référencé dans une table toutes les pages que contient le répertoire avec leur numéro, et le lien vers l'image.
- Soit à chaque fois, on parcours le répertoire pour afficher directement celle demandée (on veut afficher la 3e page, ce sera donc le 3e fichier du répertoire si trié).
Je ne sais pas si je suis assez claire, mais la question est:
Est ce qu'une requête BDD est plus rapide qu'une simple recherche dans le repertoire connu?
-
Bonsoir, a mon humble avis, tout dépend de la taille de ton répertoire, de tes index dans ta base etc etc...
Sinon tu peux toujours effectuer quelques tests en simulant une grosse volumétrie et en utilisant la fonction microtime afin de voir quelle est la méthode la plus rapide
-
En y réfléchissant, je pense qu'au départ, lorsque la base est peu remplie, la méthode SQL est à préféré, mais par la suite, plus elle se remplira, la balance se penchera vers l'autre coté.
Il y a bien trop de paramètre à prendre en compte en fait:
- Puissance du serveur
- Taille de la base
- Nombre de fichiers dans le répertoire
...
-
Salut
Pour ma part, je n'hésiterais même pas : Une Bdd.
Par contre, si su estime quelle grossira énormément, faire un système de cache sera peut être nécessaire.
Le cache pourrait être le contenu HTML des pages, des pages en somme.
Du coup, c'est la solution 1 et 2.
L'alternative sera basée sur l'existence su fichier, et de sa date de validité. Cette date faudra la définir, comme 1 heure, 1 jours, 1 semaine, etc ... Ca dépend des féquenses des mises à jours (une estimation).
Si le fichier n'existe pas ou la date périmée, le cache sera recréé (sql).
Un système assez classique en faite.
Faut pas oublier qu'une BDD ce n'est pas juste un élément de stockage, mais un système qui permet de gérer du contenu.
On a difficilement fait mieux pour pouvoir faire des recherches par exemple.
De même qu'on s'appuie sur son contenu pour faire des statistiques.
Etc ...
Chose qui sera très difficile à réaliser avec de simples fichiers.