Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-il plus rapide ou préférable d'utiliser MySQL au lieu de fichiers texte ou de noms de fichiers pour commander des images avec PHP ?

Je dirais que cela dépend beaucoup des performances de connexion de votre matériel/système de fichiers/mysql de base. Un accès unique au disque, juste pour lire les images, sera probablement votre option la plus rapide. Mais vous devrez nommer vos fichiers manuellement à l'avance.

Mysql nécessite une connexion TCP ou *NIX socket, et cela peut ralentir les choses (cela dépend beaucoup du nombre d'images que vous avez et de la "qualité" de votre lien db). Si vous avez beaucoup de fichiers, l'impact sur les performances peut être négligeable. La simple lecture d'un fichier peut néanmoins être plus rapide, sans se soucier de configurer une connexion à la base de données ; vous devrez quand même noter la correspondance ID/nom de fichier pour la commande.

Quelque chose que j'essaierais dans votre situation est de jeter un œil à la commande php stat et de voir si cela peut vous aider à trier les images. En fonction du nombre d'images que vous avez (cela fonctionne mieux avec des nombres inférieurs), les performances peuvent ne pas être sérieusement affectées et vous ne pourrez PAS conserver une liste séparée des tuples image/date de création. Au fur et à mesure que votre nombre d'images augmente, l'approche de la liste de fichiers me semble être un moyen raisonnable de résoudre le problème. Cependant, le simple fait de comparer la chose à mesure que le nombre d'images augmente peut vous dire la vérité. Puisque, je pense, vous pouvez vous attendre à beaucoup de variabilité, selon votre contexte spécifique.