Limite di dati selezioni da un database MySQL
MySQL offre una clausola LIMIT che viene utilizzato per specificare il numero di record da restituire.
La clausola LIMIT rende facile codificare i risultati multi pagina o impaginazione con SQL, ed è molto utile su grandi tavoli. Restituzione di un numero elevato di record può avere un impatto sulle prestazioni.
Supponiamo che vogliamo selezionare tutti i record 1-30 (inclusive) da una tabella denominata "Orders" . La query SQL sarebbe quindi simile a questa:
$sql = "SELECT * FROM Orders LIMIT 30";
Quando la query SQL sopra viene eseguito, restituirà i primi 30 record.
Che cosa succede se si vuole selezionare i record 16-25 (inclusive) ?
Mysql fornisce anche un modo per gestire questa situazione: usando OFFSET.
La query SQL di seguito dice "return only 10 records, start on record 16 (OFFSET 15)" :
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";
Si potrebbe anche usare una sintassi più breve per ottenere lo stesso risultato:
$sql = "SELECT * FROM Orders LIMIT 15, 10";
Si noti che i numeri sono invertiti quando si utilizza una virgola.