Originariamente inviato da Gabbro
capisco... però il fatto è che il campo data è un datetime. se io metto nella query una condizione su data non rischio di rallentare ancora di + il tutto?
Secondo me no. Poi ti conviene provare, basta che dai qualche sql direttamente da console per vedere se ho ragione oppure no.

Ma così a primo impatto direi che non puoi rallentare.
Perchè tanto tu finisci per fare cmq un operazione sul campo data quando crei l'ordinamento con la query attuale (e lo fai sempre per tutti i record dell'utente) con l'aggravio maggiore di dover anche fare l'ordinamento.

Edit: mi sono accorto che non ordinavi sulla data. Quindi quello che ho scritto sopra a proposito dell'operazione non conta.

Poi, a discapito di altre ipotesi più catastrofiche, puoi anche decidere di lavorare con i timestamp (sempre che tu possa farlo).

Fai una prova con qualche query da console.

Edit2: se decidi di provare la tua proposta iniziale puoi usare data_seek. Inoltre mi chiedevo, ma sul limit non si può usare un valore fornito da sql? Conti i record trovati con where e ti fai restituire solo gli ultimi 10 così skippi l'ordinamento?