Di recente ho scoperto che MySQL ha una offset
funzione. Ho cercato di trovare documentazione sui risultati dell'offset o sulla differenza tra offset e la variante del limite, ma non riesco a trovare quello che sto cercando.
Diciamo che ho 10.000 righe in una tabella e voglio 25 risultati, dalla riga 1.000. Per quanto mi è arrivato finora, ho potuto fare entrambi per ottenere lo stesso risultato:
SELECT id,name,description FROM tablename LIMIT 1000,25
SELECT id,name,description FROM tablename LIMIT 25 OFFSET 1000
Quello che vorrei sapere è la differenza tra i due.
- Questo fa davvero lo stesso o la mia comprensione è sbagliata?
- È uno più lento / più veloce nelle tabelle più grandi
- Il risultato dell'offset cambia quando lo faccio
WHERE column=1
(diciamo che la colonna ha> 100 valori diversi) - Il risultato dell'offset cambia quando lo faccio
ORDER BY column ASC
(supponendo che abbia valori casuali)
Se questa è una domanda "stupida" e qualcuno conosce una documentazione che illumina l'argomento, si prega di aggiungerli nelle risposte.
Ho la sensazione che l'offset salta le prime X righe trovate nel database, ignorando l'ordinamento e il dove.