Задавайте вопросы, мы ответим
Вы не зашли.
Здраствуйте.
Проблемка со следующим запросом:
Неактивен
Ну он, очевидно, хочет сортировать весь UNION — попробуйте поставить скобки.
Неактивен
EXPLAIN (SELECT `TEXT` , `DATE` , `editdate` , `aid` , `tid`
FROM `forum`.`post`)
UNION (SELECT `TEXT` , `DATE` , `editdate` , `aid` , `id` AS `tid`
FROM `forum`.`topic`)
ORDER BY `DATE` DESC
что-то тоже самое. Может сами запросы сменить? Просто у меня 2 таблички как видно. Поля все одинаковые кроме id-tid в таблице topic мне нужно выбрать скажем 20 строк с обратной сортировкой по дате, может есть оптимальней способы?
Неактивен
Изменились несколько условия задачи...
Ну вот таков запрос:
SELECT `text`, `date`, `editdate`, `aid`, `tid` FROM `forum`.`post` WHERE `gid` = 1 AND `fid` IN(1, 2, 3, 6, 4, 5, 7) UNION SELECT `text`, `date`, `editdate`, `aid`, `id` as `tid` FROM `forum`.`topic` WHERE `gid` = 1 AND `fid` IN(1, 2, 3, 6, 4, 5, 7) ORDER BY `date` DESC LIMIT 0 , 50
Индекс на gid, fid, date в обоих таблицах, эксплаин радовать больше начал:
1 PRIMARY post ref date date 4 const 170 Using where
2 UNION topic ref gid,date date 4 const 7 Using where
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
Неактивен