Оптимизация простого запроса

  • Автор темы Автор темы LONGMAN
  • Дата начала Дата начала
Как я понял, '0000-00-00 00:00:00' можно заменить на NULL, '2010-10-04 16:07:53' на NOW(),
Для `sectionid` и `catid`возможно сделать DEFAULT NULL? Какие связи используются между таблицами? Возможно ли вместо INNER JOIN сделать WHERE `sectionid`IS NOT NULL AND `catid`IS NOT NULL.
Попробуйте составной индекс (`publish_up`, `state`).
 
Rin
Запросы с NOW() не будет кешироватся. Сменить "0000-00-00 00:00:00" на NULL не вижу смысла, может я чего нибудь не понимаю? А на счёт джойнов - они нужны, выбирается имя секции и категории.
 
DEFAULT NULL может быть в каком-то смысле и правильнее, но запрос только усложнится, т.к. записи с NULL в выборку не попадут при обычном сравнении с DATETIME.

LONGMAN, у тебя дата «2010-10-04 16:07:53» (из первого примера) где-то в кеше лежит?
 
Вурдалак
нет, просто часто время передается как 23:59:59 и в запросе кэшируется
 
Сверху