Вы не зашли.
#601.
Саша
Гость
2010.04.09 00:12
Как обьеденить следующие запросы
SELECT * FROM `forum` WHERE `id`= 5 LIMIT 10
дальше в цикле при выводе значений
SELECT `gender` FROM `users` WHERE `id` = `forum`.`author`
, чтобы при выводе в цикле в ячейке gender массива с результатом запроса был результат второго запроса?
Код:
SELECT `forum`.*, `users`.`gender` |
FROM `forum` AS `forum` |
LEFT JOIN `users` AS `users` ON `users`.`id` = `forum`.`author` |
WHERE `forum`.`id`= 5 |
LIMIT 10 |
что выбрать: использовать объединенный запрос или в цикле делать кэшируемый запрос (если этот пользователь уже был в списке то запрос не делается)
в обоих таблицах будет много записей (> 100 000)
что имеется ввиду под "кэширующим" запросом?
запрос делается через фукц user
static $users;
if(!isset($users[$id]))
{
запрос ($users[$id] = результат)
}
return $users[$id];
ну так все зависит от того, будет ли использоваться кэш. если в цикле будет более 2 запросов в бд, то скорее всего, следует смотреть в сторону 1 запроса к нескольким таблицам.
Добавлено спустя 2 минуты 38 секунд: еще, если предпологается работа с большими объемами данных, можно посмотреть в сторону денормализации. т.е. продублировать нужные данные, чтобы к ним можно было легко получить доступ.
#608.
willi
Гость
2010.04.11 13:01
Вот такая у меня заморочка. Поставил скрипт, super sea, если создавать папки и лить файлы через админ панель они нормально отображаются, а когда создаю папку или файл с акка их на сайте нет.. Объясните, пожалуйста, как можно это исправить..
что за super sea, мне не ведомо, если это форк сеа с вапинета, то тебе нужно обновить БД. т.к. инфа о файлах берется оттуда, а не напрямую из файловой системы.
#610.
willi
Гость
2010.04.11 14:02
Я незнаю можно ли здесь давать ссылки но я вот здесь скачевал http://4mas.ru/download/index.php?act=view&file=6665&SESID=964e711c6366cab731e8f69f59087320