Originariamente inviato da Gabbro
ciao piero grazie per la spiegazione.
e questa cosa vale solo per mysql o anche per oracle?
inoltre naturalmente ora ho pensato di trasformare il campo date in timestamp in modo da ottenere una query + veloce. Una volta creato un nuovo campo nella tabella mi ricordo che c'era un modo tramite sql per fare prendere il campo date di ogni tupla e inserire nella stessa tupla il corrispondente timestamp nel nuovo campo. mi sbaglio?
di solito gli AND vengono valutati da SX verso DX ma per ogni rdbms bisogna riferirsi alle singole specifiche sul loro modo di operare nell'insieme e non solo nella valutazione dell'operatore logico.

per spostare un valore da date a unix timestamp lo puoi fare in un botto solo con un update.

UPDATE tabella
set campo_timestamp = unix_timestamp(campo_date)

Ma non e' che ottimizzi piu' di tanto. I campi di tipo "temporale" sono comunque ottimizzati. Occhio che nel unix timestamp hai i valori di DATETIME mentre un DATE manca di ora:minuti:secondi che vengo defaultati dallo unix timestamp come 00:00:00