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

    [MySQL]Tempo di estrazione del database

    Ciao a yutti, volevo porre due semplici domande la cui risoluzione mi aiuterebbe non poco a decidere come impostare i miei script. Innanzitutto vorrei sapere se quando effetto una ricerca sul database vengono sempre contorollati tutti i valori o se viene utilizzato un mettodo piú rapido per indicizzarli. In pratica la query "SELECT field FROM tabella WHERE id='1'" impiega tanto tempo uguale ad essere eseguita se nel database "tabella" ci sono 10, 20 o 100 record (il record con id = 1 é sempre uno solo)? Seconda domanda: se io imposto un limite al numero di righe da estrarre vengono comunque controllate tutte o usa un qualche metodo per estrarne direttamente una sola? Ad esmepio in un database con 100 record di cui 30 con forum='Presentazioni' le seguenti query impiegano lo stesso tempo o una delle due é piú rapida? Se aumenta il numero di record e quello di corrispondenze il tempo di estrazione dei dati aumenta per entrambe le query?
    1) SELECT forum FROM tabella WHERE forum='Presentazioni' order by data DESC LIMIT 1
    2) SELECT forum FROM tabella WHERE forum='Presentazioni' order by data DESC
    Grazie in anticipo

  2. #2
    beh, puoi fare tu stesso le prove, con phpmyadmin, quando esegui una query ti da oltre al risultato (capitan ovvio :P) anche il tempo che ha impiegato ad eseguirla...

    Visualizzazione record 0 - 8 (9 Totali, La query ha impiegato 0.0026 sec)

    ciaoo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    devi usare EXPLAIN per vedere il piano che usa mysql

    In generale per le query che hai messo ti servono due indici, uno su forum, uno su data.

    Il primo ti farà la selezione, il secondo verrà usato per l'ordinamento.

    L'indice ti serve anche per le situazione di selezione di MAX e MIN
    ---
    Anzi, detto tra di noi, potresti anche usare DUE indici diversi e compositi,
    presentazione; data
    presentazione; data DESC
    se proprio volessi fare lo "sborrone"

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 © 2026 vBulletin Solutions, Inc. All rights reserved.