La verdad es que es mas una mania que algo valedero pero en lo posible evito usar funciones en consultas sql que manejen muchos registros asi qeu yo haria algo asi:
Código SQL
[-]
Where (d.fecha >= :wDate1) and (dFecha <=:wDate2)
y crearia un indice por fecha
Pero repito es solo una mania no se que tantos recursos puede consumir la funcion
between y si toma en cuenta o no los indices
//Suerte