Mosik
Новичок
Условие с датами
У меня есть таблица скидок. В ней есть два поля: дата начала дейтсвия скидки и дата окончания дейтсвия скидки.
Чтобы получить скидки на конкретную дату я пишу условие
Но в данном случае MySQL перебирает все записи в таблице.
Можно как-то оптимизировать?
Если кто скажет "смотри explain", то там я уже смотрел.
У меня есть таблица скидок. В ней есть два поля: дата начала дейтсвия скидки и дата окончания дейтсвия скидки.
Код:
CREATE TABLE `pas_products_codes_special` (
`id` mediumint(6) unsigned NOT NULL auto_increment,
`products_code` mediumint(6) unsigned NOT NULL default '0',
`prop_date` date NOT NULL default '0000-00-00',
`prop_date_end` date NOT NULL default '0000-00-00',
`currencies_id` tinyint(2) unsigned NOT NULL default '0',
`discount` tinyint(2) unsigned NOT NULL default '0',
`special` float unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `idx_products_code` (`products_code`),
KEY `idx_prop_date` (`prop_date`,`prop_date_end`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=DYNAMIC;
Код:
WHERE special.prop_date<='2005-08-30' and special.prop_date_end>='2005-08-30'
Можно как-то оптимизировать?
Если кто скажет "смотри explain", то там я уже смотрел.