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

Rin

*
Как я понял, '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`).
 

LONGMAN

Dark Side of the Moon..
Rin
Запросы с NOW() не будет кешироватся. Сменить "0000-00-00 00:00:00" на NULL не вижу смысла, может я чего нибудь не понимаю? А на счёт джойнов - они нужны, выбирается имя секции и категории.
 

Вурдалак

Продвинутый новичок
DEFAULT NULL может быть в каком-то смысле и правильнее, но запрос только усложнится, т.к. записи с NULL в выборку не попадут при обычном сравнении с DATETIME.

LONGMAN, у тебя дата «2010-10-04 16:07:53» (из первого примера) где-то в кеше лежит?
 

LONGMAN

Dark Side of the Moon..
Вурдалак
нет, просто часто время передается как 23:59:59 и в запросе кэшируется
 
Сверху