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

Langage PHP Discussion :

2 requêtes en une


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut 2 requêtes en une
    Bonjour,

    Voici ma question du jour.
    Je fais actuellement 2 sql à chaque fois comme ceci

    Pour afficher X premiers résultats
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select user from table1 limit x,x
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select user from table1
    sans la limite pour compter combien il existe de résultats au total pour gérer un système de pagination par la suite.

    Serait-il possible d'optimiser ceci pour n'avoir plus qu'une seule requête ?

    Merci beaucoup
    Vincent Pieplu
    Développeur Site Internet

  2. #2
    Membre actif Avatar de Korri
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Points : 232
    Points
    232
    Par défaut
    Tu est obligé d'utiliser plusieurs requètes pour faire ce que tu veux, la première optimisation serais d'utiliser COUNT plutôt que de faire une requête complète :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT user FROM table1 LIMIT x,x;
    SELECT COUNT(user) FROM table1;
    Mais il existe encore mieux en MySql, comme indiqué sur ce site, tu peut dire à mysql lors de ta première requête, que tu vas avoir besoin du total quand même, ce qui donne quelque chose comme ça :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SQL_CALC_FOUND_ROWS user FROM table1 LIMIT x,x;
    SELECT FOUND_ROWS();
    PS: Utilise les balises [ CODE ] la prochaine fois SVP
    • Quand la discutions est terminée, cliquez sur , Pensez y !
    • Vous voyez un message pertinent et de qualité ? Votez pour ce message !

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726

  4. #4
    Membre actif Avatar de Korri
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Points : 232
    Points
    232
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    Bien résumé...
    • Quand la discutions est terminée, cliquez sur , Pensez y !
    • Vous voyez un message pertinent et de qualité ? Votez pour ce message !

Discussions similaires

  1. [SQL Server 8] Regrouper 2 requêtes en une ?
    Par Baquardie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/06/2004, 22h22
  2. Résultat d'une requête dans une variable...
    Par Hoegaarden dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/04/2004, 13h51
  3. Fichier log des requêtes d'une bdd
    Par Sub0 dans le forum Administration
    Réponses: 4
    Dernier message: 22/03/2004, 14h12
  4. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52
  5. Regrouper 3 requêtes dans une seule
    Par LadyArwen dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/06/2003, 09h32

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