Ребята помогите решить задачу, в таблице 4 миллиона записей, при выполнении запроса:
SELECT SQL_CACHE 9 AS test,N.*,
(SELECT NAME FROM news_regions where id = N.id_region) AS region,
(SELECT NAME FROM news_category where id = N.id_category) AS category,
(SELECT NAME FROM news_sources where id = N.id_source) AS source
FROM news_news N
WHERE 1=1
AND MONTH(N.date) = 1 AND YEAR(N.date) = 2014
ORDER BY N.id DESC
LIMIT 0,36;
думает очень долго - Отображает строки 0 - 29 (36 всего, запрос занял 2.9451 сек.)
можно в принципе чуть упростить убрав сортировку ORDER BY N.id DESC но тогда понятное дело вывод будет не тот, что нужен, может кто что придумает, у меня сейчас башка совсем не варит, сижу мучаюсь только.
ниже приведу всю таблицу
CREATE TABLE IF NOT EXISTS `news_news` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`tid` INT(11) NOT NULL DEFAULT '0',
`id_category` INT(11) NOT NULL DEFAULT '0',
`id_source` INT(11) NOT NULL DEFAULT '1',
`id_region` INT(11) NOT NULL DEFAULT '1',
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`title` VARCHAR(255) NOT NULL DEFAULT '',
`text` longtext NOT NULL,
`link` VARCHAR(255) NOT NULL DEFAULT '',
`image` VARCHAR(255) NOT NULL,
`counter` INT(11) NOT NULL DEFAULT '0',
`comment` INT(11) NOT NULL DEFAULT '0',
`seo_title` VARCHAR(255) NOT NULL,
`user_id` INT(11) NOT NULL,
`poll` INT(11) NOT NULL DEFAULT '0',
`hits` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `id_region_id_category_id_source` (`id_region`,`id_category`,`id_source`),
KEY `id_category` (`id_category`),
KEY `image` (`image`),
KEY `category_image` (`id_category`,`image`),
KEY `id_region` (`id_region`),
KEY `date` (`date`),
KEY `id_source` (`id_source`),
KEY `counter` (`counter`),
KEY `region_category` (`id_category`,`id_region`),
KEY `category_date_source` (`id_category`,`date`,`id_source`),
KEY `link` (`link`),
KEY `region_category_source_date` (`id_region`,`id_category`,`id_source`,`date`),
KEY `regi2` (`id_region`,`id_category`,`date`),
KEY `source_region` (`id_source`,`id_region`),
KEY `user_id` (`user_id`),
KEY `hits` (`hits`),
KEY `counter_cat` (`id_category`,`counter`),
FULLTEXT KEY `FULLTEXT` (`text`,`title`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4824896 ;
Отредактированно newsrbk (10.05.2015 04:33:05)