parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

плохой вариант...

Misha v.3 20.02.2004 11:26

mysql будет вычислать значениу функции where DATE_FORMAT(date,'%Y-%m-%d') для каждой записи в таблице news и лишь затем будет делать отбор по результатам вычислений. ни о каком использовании индексов речи быть не может в этом случае. гарантированы ALL в explain, temporary и filesort. это как-раз то, чего стоит избегать, как и OR в where. я об этом писал.

горазд лучше второй запрос сделать так:
^dates.offset(-1)
$news[^table::sql{
  select
    id,
    date
  from news
  where 
    date >= $dates.n_date
  order by date desc
}]
ну и не забыть индекс на date. посмотрите explain первого запроса и этого.