They map into one sql query and they execute on each record on the db side. I do not know how efficient they are.
Massimo On Mar 30, 4:16 pm, LightOfMooN <[email protected]> wrote: > I use this query on big massive of records. > I don't know what .month() and .year() does. > Are they the functions, which works on python level, or are they just > a functions, which form some query for database? (I use postgres) > So, if .month() and .year() executes on each record, I think, it's too > slow. > But if it executes one time per query, it can be faster than 1st. > > On 31 мар, 01:53, Kenneth Lundström <[email protected]> > wrote: > > > > > > > > > For some reason I think query2 would be faster, but it s just a gut > > thought. Can t base it on anything, not even experience. > > > And I think your first query doesn t include first day of month at the > > moment. > > > Kenneth > > > > start_date = datetime(year=show_year, month=show_month, day=1, hour=0, > > > minute=0, second=0) > > > if show_month == 12: > > > end_date = datetime(year=show_year+1, month=1, day=1, hour=0, > > > minute=0, second=0) > > > else: > > > end_date = datetime(year=show_year, month=show_month+1, day=1, > > > hour=0, minute=0, second=0) > > > > There are two same queries: > > > > datequery1 = (db.indications.date> start_date)&(db.indications.date< > > > end_date) > > > datequery2 = > > > (db.indications.date.year()==show_year)&(db.indications.date.month()==show_ > > > month) > > > > I think, the first is faster. Am I right?

