Hi ho una tabella db records 7milion per testare la velocità di query.QUERY speed with limit e milion records
Ho testato i miei 2 domande che sono la stessa query con diversi parametri limite:
interrogazione 1 -
SELECT *
FROM table
LIMIT 20, 50;
interrogazione 2 -
SELECT *
FROM table
LIMIT 6000000, 6000030;
tempi di query exec sono:
- query 1 - 0.006 sec
- interrogazione 2-5,500 sec
In entrambe queste domande, io sono il recupero stesso numero di record, ma nel secondo caso sta prendendo più tempo. Qualcuno può spiegare le ragioni alla base di questo?
Avete indicizzazione? Hai una chiave primaria? Se non ne hai, questo ha senso per me. –
@amir se nessuna indicizzazione per entrambe le query deve essere lo stesso test no? o se ho messo la seconda query dell'indice richiederà lo stesso tempo della prima query? – sbaaaang
se non hai alcun indice allora non credo che MySQL possa saltare le prime 6000000 righe. Devi avere almeno un indice primario per saltare le righe. Forse qualcun altro può confermarlo? Potremmo anche testarlo. –