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

Requêtes MySQL Discussion :

[MySQL][PHP]Requête de Jointure, est-ce une grosse requête ?


Sujet :

Requêtes MySQL

  1. #1
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 156
    Points : 1 939
    Points
    1 939
    Par défaut [MySQL][PHP]Requête de Jointure, est-ce une grosse requête ?
    Bonjour,

    J'ai la requête suivant ; je voudrais savoir si cela correspond à une requête légère/normale/lourde/très lourde. (Cette requête est utilisée dans du code PHP) pour des raisons de choix d'hébergement.

    Je m'excuse de poser la question, mais j'ai du mal à évaluer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SELECT DISTINCT 
      C1.Id, 
      C1.Titre, 
      C1.Date, 
      C1.DateApparente, 
      C1.Categorie, 
      C2.Nom_$langue 
     
    FROM 
      ListeActualites C1, 
      CategoriesActualites C2 
     
    WHERE 
      C2.Nom_fr=C1.Categorie 
     
    ORDER BY 
      C1.Date DESC
    Je vous remercie d'avance,
    Geronimo

    Précision : la table ListeActualites contient une centaine d'éléments
    La table CategoriesActualites une dizaine.
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

  2. #2
    Membre confirmé
    Avatar de omiossec
    Homme Profil pro
    Inscrit en
    juin 2002
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juin 2002
    Messages : 241
    Points : 554
    Points
    554
    Par défaut
    c'est plutot une requette simple.
    Mais il faudrait surout voir comment sont gerer les index.
    Un conceil pour voir comment une requette peut être interpreter dans mysql
    tape
    Olivier Miossec

  3. #3
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 156
    Points : 1 939
    Points
    1 939
    Par défaut
    C'est-à-dire que je suis chez un fournisseur d'accès... donc pas de commandes ...

    Qu'est-ce que tu entends pas "Gérer" les index ?
    J'ai normalement le champ Id qui est un Index en auto_increment et je n'utilise que lui dans les clauses WHERE.
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Bah pas spécialement Mais Quelle est la nature de ta jointure ?

  5. #5
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 156
    Points : 1 939
    Points
    1 939
    Par défaut
    En gros, c'est que je fais référence à une Catégorie, mais selon la langue, j'ai besoin de sa traduction.
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

  6. #6
    Membre confirmé
    Avatar de omiossec
    Homme Profil pro
    Inscrit en
    juin 2002
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juin 2002
    Messages : 241
    Points : 554
    Points
    554
    Par défaut
    Citation Envoyé par Geronimo
    C'est-à-dire que je suis chez un fournisseur d'accès... donc pas de commandes ...

    .
    Tu n'a pas phpmyadmin ou autre car c'est une commande sql
    Olivier Miossec

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    De toute façon ta requête ne créera qu'une table intermédiare de 1000 n-uplet et MySQL traite ca sans problème. De toute façon, il me semble que la lenteur de ta requête ne sera du qu'à ORDER BY mais cela dépendera de tes réponses. Si tu t'inquite pour la syntaxe, en principe, c'est l'optimiseur de requête qui s'occupe de ca.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Mais fait attention a ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C2.Nom_fr=C1.Categorie
    S'il ne sont pas tous renseigné, tu risque d'avoir des perte de données. Dans ce cas opte pour une jointure externe[/code]

  9. #9
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 156
    Points : 1 939
    Points
    1 939
    Par défaut
    Tous les C1.Categorie ont obligatoirement une valeur.

    Mais un SELECT peut-il altérer une table ?!!
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    bien sur que non.
    Ah je vais te rconter une petite histoire sympas qu'y m'est arrivé il a quelques temps. Je travaillais une base de données MySQL/PHP et je fesais une fonction de mise à jour des tables. Le problème était que j'ai j'oublié de mettre une condition dans UPDATE...
    Ca n'a rien à voir mais il fallait que je le dise, ca pesait trop lourd

  11. #11
    Invité
    Invité(e)
    Par défaut
    Utilise un left join pour être sur d'avoir toutes les valeurs.

  12. #12
    Nouveau membre du Club
    Inscrit en
    juillet 2002
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : juillet 2002
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    pour info ... je gère un site qui gère des enquètes traduites sur 5 langues
    différentes et contenant une quarantaine de questions.

    j'ai plus de 20 requetes de ce genres dans tous les sens et ça roule parfaitement bien.

    donc à priori no problemo.

  13. #13
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 156
    Points : 1 939
    Points
    1 939
    Par défaut
    Tu fonctionnes comme ça aussi pour la traduction ? Ca me rassure, parce que j'avais fait ça moi-même, sans chercher vraiment comment ça se fait en général...

    Tu dis que ça roule sans problème, mais tu es hébergé comment ? Perso/Mutualisé/Dédié ?
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

  14. #14
    Nouveau membre du Club
    Inscrit en
    juillet 2002
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : juillet 2002
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    1- pour la traduc, je ne voyais pas d'autre solution. Donc tout est dynamique : templates + php + mysql et hop ! ... 1 site / 5 traductions.
    2- je suis en mutualisé. Bon évidemment ... il n'y a pas de montées en charge de 2000 users par minute ...


    Citation Envoyé par Geronimo
    Tu fonctionnes comme ça aussi pour la traduction ? Ca me rassure, parce que j'avais fait ça moi-même, sans chercher vraiment comment ça se fait en général...

    Tu dis que ça roule sans problème, mais tu es hébergé comment ? Perso/Mutualisé/Dédié ?

  15. #15
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 156
    Points : 1 939
    Points
    1 939
    Par défaut
    Merci pour vos réponses.
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

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

Discussions similaires

  1. Transformer une sous requête en jointure.
    Par ithurts dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/06/2010, 01h26
  2. MySQL indisponible lors d'une grosse requête
    Par Guireg dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/07/2009, 11h51
  3. Réponses: 2
    Dernier message: 25/05/2009, 22h50
  4. Jointure externe sur une sous-requête
    Par pgentils dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/01/2008, 10h34
  5. Réponses: 2
    Dernier message: 17/07/2006, 22h24

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