Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99

    Estrapolare tutti i dati di una tabella MySQL partendo da una chiave di ricerca.

    Ciao a tutti. Desidero sapere com'è possibile prelevare tutti i dati di una tabella MySQL partendo da una "chiave" di ricerca.
    Per "tutti i dati" intendo, dalla chiave di ricerca che inserisco, fino all'ultimo record della tabella.


    In poche parole devo leggere/scaricare tutta la tabella partendo da un valore che inserisco.
    Ipotizziamo che ho una tabella di 20 righe e la lettura la voglio fare dalla quinta riga fino all'ultima, quindi la ventesima... Come faccio a prelevare tutti i dati considerato che non so quante righe effettivamente esistono nella tabella poiché la stessa continua a "crescere"?


    Grazie!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se la tabella ha un campo id numerico progressivo, dovrebbe bastare una query tipo questa

    codice:
    SELECT * FROM Tabella ORDER BY id_progressivo LIMIT X, 18446744073709551615
    X è il record di partenza, 18446744073709551615 è il numero massimo di record che una tabella MyISAM può contenere

    PS: è più una domanda da sezione Database però

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    Ciao e grazie per l'intervento...
    Domanda "nabba".. Seguendo il tuo consiglio (chiedo eh!) non è che faccio lavorare troppo il db?
    Voglio dire, se la richiesta parte dalla terzultima riga e tiro fuori le ultime 2 per completare la richiesta, non è eccessivo?
    Considera anche che la query la faccio su 21 tabelle, ogni minuto della giornata...


    PS: è più una domanda da sezione Database però
    Dici? In verità effettuo la query attraverso php, però ragionandoci effettivamente, torto non hai...

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma a te servono le ultime righe della tabella e basta?
    ad esempio, tabella da 1000 righe, prendi solo le ultime 3?
    in questo caso, puoi fare il contrario, ordina id in maniera decrescente e trasforma in "LIMIT 0, 3"


    dimenticavo: dal punto di vista della computazione non credo cambi molto avere come offset un numero molto più grande del numero di record nella tabella
    Ultima modifica di clasku; 29-06-2015 a 08:46

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    No, non prendo solo e unicamente le ultime 3... Prendo ciò che resta dei dati inseriti in tabella, partendo dalla riga che inserisco nella query. Quindi possono tornarmi un migliaio di righe come anche nessuna.

    Colgo l'occasione della tua disponibilità per porti alcune domande. Prima fra tutte se conosci altri metodi per fare ciò. Non metto in dubbio nulla, solo che forse ci sono altre vie più "veloci". In realtà pensando al tuo suggerimento dovrei scrivere un po' di codice aggiuntivo (non sono sicuro di farcela)...

    La seconda, se nell'ipotesi mancasse un id numerico (per via di una riga cancellata) potrebbe compromettere l'esito?
    Non so, totali righe 30, manca la decima riga e la ventesima... Non dovrei aver problemi se scarico dalla 5° in poi oppure sbaglio?

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    usare la mia prima query credo che sia la soluzione più veloce
    magari invece del numero massimo di righe che può contenere una tabella MyISAM, usa come parametro il count delle righe della tabella (ovviamente, se usi MyISAM come Storage Engine, non ti porre neppure il problema XD )

    se mancano le righe nel mezzo (traduco questa frase con "ho un elenco di id progressivi numerici non consecutivo") non ci dovrebbe essere alcun problema

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    Ho fatto una prova... Sembra funzionare tutto...
    Grazie sei stato molto gentile!

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.