Posso iniziare una ricerca dopo un certo numero di righe in MySQL

-1

Sto pensando a un caso in cui devo trovare, per esempio, un articolo con un titolo dato come input per utente. Tutti i miei articoli sono memorizzati in DB e in qualche modo so che l'articolo richiesto è dopo n righe. Non è necessario avviare la ricerca dall'alto e trovare l'elemento richiesto. Anche se assegnassi gli indici alle mie colonne, sarebbe un lavoro troppo ridondante e sicuramente sarebbe lento. Quindi, c'è un modo in MySQL per "saltare" e iniziare la ricerca da lì (clausola SEARCH FROM o qualcosa del genere)?

    
posta Devashish 23.04.2016 - 04:33
fonte

2 risposte

4

Come fai a sapere quante righe saltare? Gli indici sono sicuramente la strada da percorrere, ecco a cosa servono e di solito sono il modo più veloce per accedere ai dati secondo alcuni criteri (ricordarsi di aggiornare regolarmente le statistiche dell'indice, in MySQL usando "analizza tabella"). Non sei sicuro di cosa intendi per "ridondante", "troppo lavoro" o anche "troppo lento".

Puoi anche saltare le righe come descrive @Wyzard, che di solito viene eseguita quando vuoi elaborare i dati in alcuni blocchi più grandi. Tieni presente che MySQL inizia a rallentare gli offset più alti, se hai a che fare con milioni di righe che possono essere piuttosto significative.

    
risposta data 23.04.2016 - 05:33
fonte
-1

Puoi utilizzare LIMIT 5, 10 o LIMIT 10 OFFSET 5 per recuperare 10 righe a partire dalla riga 5. I numeri di riga iniziano da 0, quindi "riga 5" è in realtà la sesta riga. (La sintassi LIMIT 5, 10 è specifica di MySQL; LIMIT 10 OFFSET 5 è anche in PostgreSQL.)

Si noti che, a meno che la query non includa una clausola ORDER BY , i risultati vengano recuperati in ordine arbitrario, quindi non ha senso utilizzare LIMIT senza ORDER BY .

    
risposta data 23.04.2016 - 04:44
fonte

Leggi altre domande sui tag