Je travaille actuellement dans un produit où différents types d'images comme des images de produits, des images de profil utilisateur, logo, etc. sont là. J'ai besoin d'une base de données avec de bonnes performances de requête.Conception de base de données MySQL - Stockage des images - Table unique ou plusieurs tables
J'ai deux conceptions de DB en tête.
OPTION 1. - Stockage toutes les images dans une seule table avec id, titre, url_full, url_thumb, statut et champ d'horodatage
Avantages
- Je peux utiliser seul fichier ImageModel à insérer supprimer/mettre à jour les données. Il n'y aura donc pas de logique multiple pour le stockage d'images. C'est juste une logique unique, "stocker dans une seule table". Donc, chaque fois que l'image doit être sauvé, je peux appeler la méthode de ImageModel
Inconvénients
- S'il y a beaucoup d'images de produits et moins d'images de l'utilisateur, l'interrogation de l'image utilisateur devient lente en raison au grand nombre de produits.
OPTION 2. - Stockage différents types d'images dans différentes tables avec id, titre, url_full, url_thumb, statut et champ d'horodatage
Avantages
- Augmentation du nombre de dossiers dans une section n'affectera pas la vitesse de requête d'autres
Inconvénients
- doit écrire des fichiers de modèle séparés/fonctions pour chaque type d'image.
- Chaque fois qu'une image doit être stockée, le type doit être spécifié.
Ma question est, qui est la meilleure approche. Est-ce que les avantages et les inconvénients sont une préoccupation réelle. S'il y a d'autres avantages/inconvénients, veuillez les énumérer. Ou s'il y a d'autres conceptions de Dieu db, s'il vous plaît suggérer.
S'il vous plaît répondre basé sur le scénario pratique où il y a beaucoup de produits et d'utilisateurs.
sans eux, nous ne pouvons pas vous aider. –
Quelle est la taille typique des images? Si nous parlons kilo-octets, alors une réponse est meilleure; mégaoctets puis un autre est meilleur. –