1.
SELECT `post`.* FROM `post` JOIN `post2cat` ON (`post2cat`.`id_post` = `post`.`id`) WHERE `post2cat`.`id_category` = 2 AND `post`.`date` <= 1491502307 AND `post` .`approve` = 1 LIMIT 10;
2.
SELECT `post`.* FROM `post` JOIN `post2cat` ON (`post2cat`.`id_post` = `post`.`id`) WHERE `post2cat`.`id_category` IN (2,4,6) AND `post`.`date` <= 1491502307 AND `post` .`approve` = 1 LIMIT 10;
OR
SELECT `post`.* FROM `post` JOIN `post2cat` ON(`post2cat`.`id_post` = `post`.`id`) WHERE (`post2cat`.`id_category` = 2 OR `post2cat`.`id_category` = 4 OR `post2cat`.`id_category` = 6) AND `post`.`date` <= 1491502307 AND `post` .`approve` = 1 LIMIT 10;
3. Индексы для post2cat:
-- Индексы таблицы `post2cat`
ALTER TABLE `post2cat`
ADD PRIMARY KEY (`id_post`,`id_category`),
ADD KEY `fk_id_post` (`id_post`) USING BTREE,
ADD KEY `fk_id_category` (`id_category`) USING BTREE;
--
-- Ограничения внешнего ключа таблицы `post2cat`
--
ALTER TABLE `post2cat`
ADD CONSTRAINT `post2cat_ifbk_1` FOREIGN KEY (`id_post`) REFERENCES `post` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `post2cat_ifbk_2` FOREIGN KEY (`id_category`) REFERENCES `category` (`id`) ON DELETE CASCADE;