Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    115

    [SQL] Ottimizzazione di una query

    Ciao,
    vorrei sapere se per effettuare un join tra due o più tabelle è più ottimale utilizzare una select con l'impostazione manuale dei campi da confrontare oppure è meglio utilizzare la parola chiave join(o left,right che sia...)
    Ovvero date due tabelle
    A(id_A,nome)
    B(id_B,id_A,campo)

    e le due query

    select * from A,B where A.id_A = B.id_A

    select * from A inner join B on id_A=id_B

    Qual'è la più ottimale e perchè?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    Non credo ci siano differenze. In entrambi i casi le tabelle dovranno essere ordinate secondo id_A, e poi con una ricerca lineare ogni id_A di una tabella sara' confrontato con id_A dell'altra tabella. Inoltre, ogni query passa attraverso il Query Optimizer che la ottimizza appunto e la riscrive secondo le tabelle selezionate, indici, e operazioni. Quindi se usi un buon database non ha molta importanza usare una query piuttosto che un'altra.

    Le query che dai come esempio pero' sono diverse perche' nella prima confronti id_A, mentre nella seconda confronti id_A con id_B.
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

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.