Optimisation de base de données?

Guizmo95 Messages postés 28 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 2 novembre 2006 - 27 oct. 2006 à 14:12
dymsbess Messages postés 56 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 4 janvier 2010 - 3 juin 2009 à 19:59
Bonjour,
J'utilise SQLlite, et je souhaiterai crée une base de données et prevoit un nombre important de connexion.
Je souhaiterai savoir pour la création de mes table, qu'elle serait la meilleure solution pour une meilleure rapidité de la base de données (ici notament pour la recherche par critère d'une personne dans la base de données) :

Solution 1 :
---
- Personne
- Num_client    int(10)
- coupe_de_chv   enum(court, long, mi-long...)
- couleur_yx    enum(bleu, vert, marron,...)
- ...
---

Solution 2 :
---
- Personne
-Num_client  int(10)
- Num_coupe_de_chv   int(2)
- Num_couleur_yx   int(2)
- ...
---
- Coupe_de_chv                                 Couleur_yx
- Num_coupe_de_chv   int(2)               Num_couleur_yx   int(2)
- Libelle_coupe_de_chv                        Libelle_couleur_yx
---

Merci à l'avance

Cordialement

2 réponses

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
30 oct. 2006 à 11:59
Je ne connait pas bien les enum de MySQL mais je pense qu'en interne il sont stocké sous une forme numérique donc si c'est bien le cas la solution Un sera la meilleur car pas de jointure a effectuer avec d'autre tables lors des requettes et le recherche sur des champ numérique sont plus rapide que des requette sur des champs texte.
0
dymsbess Messages postés 56 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 4 janvier 2010 1
3 juin 2009 à 19:59
L'intérêt d'uiliser des identifiants numériques est surtout le gain de place par rapport à une chaine de caractère. Les tables doivent être appelées par ordre croissants (table contenant le nombre de ligne min. en premier). Tout comme les critères d'ailleurs qui sont à appliquer idéalement dans les jointures et non à la fin (WHERE) . Il faut aussi jouer sur  l'indexation des champs les plus utilisés. http://www.xoowiki.com
0
Rejoignez-nous