Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    30

    Metodi per ottimizzare query

    Salve a tutti, ho una domanda diciamo "teorica" da farvi.

    Io ho un database contenente una tabella principale "utenti" un elenco di username e molte altre tabelle accessorie che si appoggiano ad essa.

    Per esempio supponiamo io avessi una tabella staccata chiamata "anagrafica" con tutti i dati anagrafici relativi ad ogni username.
    In questa tabella io sarei tentato a prendere due strade per collegarla alla prima:
    -Aggiungere una colonna "username" e poi fare una JOIN sulle due colonne username
    -Aggiungere una colonna "id_username" e poi fare una JOIN sulla colonna anagrafica.id_username e sulla colonna utenti.id.

    Il risultato finale sarebbe lo stesso ma, in termini di prestazioni, comporta qualcosa effettuare una join su un numero "esplicito" come l'id oppure effettuarla su una stringa quale l'username? Grazie a tutti

  2. #2
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    la prima è meglio di sicuro, ma nel totale dei tempi il join potrebbe essere non molto importante (cioè se la differenza è pochi millisecondi)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    30
    Quote Originariamente inviata da brancomat Visualizza il messaggio
    la prima è meglio di sicuro, ma nel totale dei tempi il join potrebbe essere non molto importante (cioè se la differenza è pochi millisecondi)
    Quindi tu consiglieresti di utilizzare nella tabella anagrafica una colonna username? Ed eventualmente fare una JOIN sulla tabella utenti sulla colonna username? In caso di moltissimi record non si avrebbe un calo prestazionale?

  4. #4
    la JOIN su numeri interi è più veloce. e aggiungere indici su campi numerici "costa" meno, in ottica database. ma, ovviamente, dipende da quello che devi fare. esplicitare lo username su ogni tabella collegata può addirittura evitare le JOIN, quindi nel complesso essere più veloce. ripeto, dipende

Tag per questa discussione

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.