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 :

Gros volume d'informations


Sujet :

PHP & Base de données

  1. #1
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut Gros volume d'informations
    Bonjour.
    Toujours dans le cadre de mon application je me pose la question de "Oui mais si les utilisateurs ajoutes des milliers de produits ?" Bien souvent nous faisons de test sur quelques produit mais lorsque ça atteind des centaines de milliers comme le système se comporte surtout dans le cas de l'utilisation d'un limite?
    J'ai pensé à utiliser une table déporté qui lui va contenir que les id de la table principale.
    SELECT id FROM tb_deporte LIMIT 1257000, 10
    SELECT * FROM tb_normal WHERE monchamps IN(mes id retourné ci-dessus)

    est-ce une bonne idée ou non ?
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Tu dupliques les infos en faisant ça nan
    Et ça fait comme une jointure, à mon avis ça tire plus qu'en faisant une requête classique (mais je suis pas spécialiste BDD, d'ailleurs ta question aurait de meilleures réponses en postant chez eux )

    PS : pour ta signature je me suis pas mal demandé d'où ça venais et c'était à la télé l'autre soir mdr en entendant ça
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Oui ça duplique uniquement l'id et effectivement c'est pas terrible mais apparement c'est un problème qui devient très important lors de l'utilisation d'un limite sur du gros volume.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  4. #4
    Invité
    Invité(e)
    Par défaut
    kan ya de gros volume fo savoir otpimiser aussi comme pour ton code :
    - placement intelligent d'index dans tes tables
    - activer le query cache (dispo seulemtna partir de mysql 4.0.1 je crois)
    - optimiser la structure des tables

    voici un lien qui texplique un peu tout ça :
    http://dev.mysql.com/doc/refman/5.0/...structure.html

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Je regrette un peu que tu n'exposes pas plus clairement ton problème :/
    Car à part balancer des réponses bateau, même utile, je ne voit pas trop comment t'aider.....

    D'ailleurs dans le genre réponses bateau, as tu pensé à revoir la structure de ta bdd ?

  6. #6
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Pour l'instant je n'ai pas de problème et je ne pense pas que la structure de mes soit mauvaise car j'ai fais en sorte de dispatcher élément redondant et placé les index sur les éléments pivot. Plus utiliser des valeurs numérique. Mais essayez de faire un limit ver la fin sur une table qui compte plus d'un millions d'enregistrement vous verrez que ça peut ramer. Surtout que sous SQLServer ça n'existe pas il faut ruser (j'ai utilisé la methode trouvé ici). Idem lorsqu'il y a une recherche à effectuer avec l'opérateur LIKE qui assez gourmand.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  7. #7
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    J'ai parcouru ton post vite fait et je me trompes peut-être mais il me semble que ce que tu fais n'est ni plus ni moins que de recréer un index manuellement sur un des champs de ta base, alors que la plupart des bases de données le propose en natif, tu devrais t'intéresser à cette histoire d'index, ça améliore considérablement les accès dès que la table devient bien rempli.

  8. #8
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Apparement de ce que j'ai lu sur un autre forum PhpBb avait se problème du faite que lorsqu'il y avait un gros volume de données + l'utilisation du LIMIT. Le developpeur du forum "MesDiscutions" a lui contourné le problème en utilisant le systeme cité au dessus. C'est de là que je m'interroge sur ce qu'il risque d'arriver lorsqu'il y a un gros volume. De toute façon il faut que je fasse des test en y enregistrant des millions d'enregistement pour voir le comportement et faire des optimisation.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  9. #9
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Le système dont tu parles plus haut peut provoquer une dégradation de l'intégrité des données.
    En effet pour peu qu'une action soit oubliée ou que sais je encore, tu pourrais te retrouver avec des index qui ne devrait plus exister, par exemple.

    Sinon sur le principe dans les cas particuliers ou l'on à vraiment pas d'autre choix c'est effectivement la méthode à adopter.
    Mais encore une fois je me permet d'insister, car ton projet n'est pas encore en production, essaie de repenser ton schéma, voir même à l'orientation globale du projet. Ceci afin de prendre en compte dès le départ cette problématique et d'y apporter les solutions les plus saines et adéquats possible.

    Enfin je me permet juste une petite note. En effet des milliers d'items avec n relations cela reste physiquement gérable par une machine **normale**, alors que des millions d'items avec n relations, l'ordre de grandeur n'est vraiment plus du tout le même.
    Et dans le cas de millions d'items ta question n'à plus rien à faire ici à mon sens, car il te faudra bien plus qu'une simple optimisation du code.

    bbye

  10. #10
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    En faite, le millions d'enregistrement pour mon projet me parait assez démesuré Je pense qu'a ça va jamais atteindre le milliers pour le coeur du system et c'est déjà énorme. J'ai déjà pensé à des mécanismes pour réduire les jointures via des objet déjà en mémoire partagé.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  11. #11
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Bah ça va si tu as moins de 1000 enregistrements devrait pas y avoir de souci alors... C'est quedal... Enfin à mon avis, reste à voir effectivement ce que ça donne en fonctionnement mais bon...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    +1 JWhite c clair c quedal mille enregistrements...en principe t'auras pas de probleme de temps
    Stay in Bed .. Save Energy

  13. #13
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    1000 c'est mon avis. En faite je fais une application e-commerce et je ne connais pas de site ayant plus de 1000 produit en ligne sauf gros compte telle qu'Amazon ou 3 suisse la redoute. Néanmoins je voudrais prouver que le systeme est garable jusqu'a x articles avec coéficient de complexité moyennement élevé.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

Discussions similaires

  1. Structure de données pour gros volume de données
    Par white_angel_22 dans le forum Langage
    Réponses: 9
    Dernier message: 01/02/2007, 11h58
  2. Gérer le gros volume de données
    Par berceker united dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 21/07/2006, 19h29
  3. Comparaison de fichiers très gros volume
    Par tanys dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 27/06/2006, 23h58
  4. Optimisation MySQL pour gros volumes
    Par barns dans le forum Requêtes
    Réponses: 8
    Dernier message: 01/10/2005, 11h28
  5. [Gros volume] Optimisations ?
    Par Grubshka dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/04/2005, 10h50

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