IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] Performance de BDD


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 86
    Points : 44
    Points
    44
    Par défaut [Conception] Performance de BDD
    Une table associative normalisé d'environ 30000 lignes serait t'elle trop lourde pour un site ou la vitesse serait raisonable?

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut à toi aussi,

    30.000 lignes? mais c'est rien du tout... Et puis ca dépend des capacités du hosting, fréquentations sur ce site, volume de requêtes à faire sur ces tables, indexation...


    Merci? Mais de rien ...

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Cela dépend également de la structure de cette table : la clef primaire ne contient-elle que des champs de type numérique, y a-t-il un index sur les champs de type texte qui sont très souvent utilisés, etc.

    Normalement, le nombre d'enregistrements n'est pas trop un problème. Cela dépend également des opérations que tu fais : plutôt écriture, modification, recherche ou lecture ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 86
    Points : 44
    Points
    44
    Par défaut
    Mes 2 premières colonnes sont des foriegns keys et non j'ai pas d'index pour mon champ de texte mais je vais en mettre un. Pour les requetes elles sont assez variées mais puisque c'est un site interne il y aurait max 90 personnes en meme temps(je doute que ça arriverais un jours de toute facon )
    La table est normalisé donc personne n'accède à un même champ en meme temps.
    Petite question , je sais que 2 requêtes UPDATE venant de 2 endroits différentes peut causer un deadlock ,ca peut tu faire la mme chose avec un SELECT?

    merci

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Houlà, la solution au deadlock a été trouvée depuis des années !
    Le fait que tes champs soient des FK n'empêche pas que tu puisses (doives) avoir une PK.
    Ne mets pas d'index à un champ si ce n'est pas absolument nécessaire : la quantité de recherches doit être largement supérieure à la quantité de mises à jour.

  6. #6
    Membre habitué Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Points : 187
    Points
    187
    Par défaut
    Je me permets de m'imiter dans cette conversation, car j'ai plusieurs questions concernant celle-ci :

    C'est quoi la solution au deadlock?
    C'est quoi la différences entre une FK et une PK?
    "Ne mets pas d'index à un champ si ce n'est pas absolument nécessaire"
    Il ne vaut pas mieux toujours mettre un index?

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Tout ceci est, j'en suis certain, abordé dans divers tutoriels à doirte et à gauche...

    Pour le deadlock, il suffit (en gros) d'utiliser correctement les sémaphores et/ou mutexes.

    Pour les FK et PK, je ne répondrai pas ici car c'est trop vaste. Cherche un tutoriel de modélisation de bases de données, ce sera bien plus adapté qu'une réponse rapide de ma part.
    Voici l'idée : une FK est un champ qui correspond à un champ faisant partie de la PK d'une table (la même ou bien une autre).

    Mettre un champ à l'index oblige le SGBD à mettre à jour l'index à chaque fois qu'une modification est apportée à ce champ (INSERT, UPDATE ou DELETE). Si les requêtes sur ce champ ne sont pas au moins à 70% des SELECT pour 30% de modifications, évite l'index car tu predrais plus de temps à le mettre à jour que tu en gagnerais par sa présence.


    Je te recommande vivement d'aller consulter nos cours.

  8. #8
    Membre habitué Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Points : 187
    Points
    187
    Par défaut
    Ok ok merci, je vais allez me renseigner plus amplement dans les tutos, c'était juste pour avoir une réponse succinte.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Conception] recupération information bdd dans un formulaire
    Par kifouillou dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/09/2006, 09h37
  2. [Conception] extraction md5 BDD, question !
    Par Fabouney dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/08/2006, 01h42
  3. [Conception] Performances : intérêt des vues ?
    Par Mr N. dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/10/2005, 13h46
  4. [Conception][performance] mysql table de 10000 enregistrements / hashmap
    Par debdev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/07/2005, 11h29
  5. [Conception] maintenir la bdd à jour
    Par Invité dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/01/2005, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo