Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    JOIN con operatore OR, problema indici

    Ciao a tutti,
    devo fare una join per recuperare i dati degli utenti che ho tra i miei amici che rispetti gli indici delle tabelle, ma purtroppo ho dei problemi.

    La tabella friend_list è così strutturata:

    IDREQ | ID1 | ID2 | STATUS

    1, 112, 154, 1
    2, 112, 32, 1
    3, 55, 112, 1

    Ovviamente io (utente 112) potrei trovarmi sia come ID1 che come ID2, per questo la join che faccio è la seguente
    (sottolineo la parte di interesse con le frecce ):

    Codice PHP:
    SELECT FROM friend_list 
    JOIN utenti ON 
    ---->> (id1 id) OR (id2 id) <<---  
    WHERE id1 '112' OR id2 '112' 
    GROUP BY nick 
    Il problema è che cosi facendo la join non mi rispetta gli indici, e quindi scansiona tutta la tabella utenti. Chiaramente se levassi l'OR dopo l'ON, gli indici li rispetterebbe.

    C'è un modo per arrivare allo stesso risultato senza far scansionare tutti gli indici al DB???

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    Non ho capito cosa vuoi ricavare dalla query, puoi spiegare meglio?

  3. #3
    In pratica devo ricavare la lista dei miei amici e contestualmente i dati di questi (ecco il motivo della JOIN).

    Il problema è che la JOIN cosi costruita è molto pesante poichè fa la scansione di tutta la tabella.
    Perchè uso Maxthon? | Mi piace questa chat

  4. #4
    Spero si sia capito il senso
    Perchè uso Maxthon? | Mi piace questa chat

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.