Ho una query che deve estrarre da una tabella di utenti quelli che sono attivi, ovvero che hanno il campo ultima operazione effettuata (un datetime) abbastanza vicino all'ora attuale; in più deve avere un'ulteriore condizione su un campo che contiene il livello dell'utente (un intero).
La query è più o meno questa:
Supponendo che il numero di utenti sia relativamente alto, che tecniche si possono usare per ottimizzare la velocità di esecuzione? Io ho provato a inserire un indice che contenesse entrambi i campi presenti nella query, vale a dire ultimaoperazione e id_livello; facendo il describe sembra che l'indice venga usato (prima aveo un indice solo su id_livello) ma i tempi di esecuzione rimangono sostanzialmente gli stessi.codice:SELECT id FROM utente WHERE NOW() - `ultimaoperazione` < 1200 AND id_livello>=2
Idee? :master: