Optimisation de base de données?

Signaler
Messages postés
28
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
2 novembre 2006
-
Messages postés
56
Date d'inscription
mercredi 29 septembre 2004
Statut
Membre
Dernière intervention
4 janvier 2010
-
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

Messages postés
268
Date d'inscription
samedi 22 février 2003
Statut
Membre
Dernière intervention
24 avril 2013
3
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.
Messages postés
56
Date d'inscription
mercredi 29 septembre 2004
Statut
Membre
Dernière intervention
4 janvier 2010
1
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