Destruction Опубликовано 12 Апреля 2006 Жалоба Поделиться Опубликовано 12 Апреля 2006 (изменено) Необходимо проверить, есть ли в ibf_posts.ip_address и ibf_members.ip_address, некое значение айпиша. Соответсвенно делаю запрос:SELECT id FROM ibf_members, ibf_posts WHERE ibf_members.ip_address='{$this->ipsclass->input['IP_ADDRESS']}' or ibf_posts.ip_address='{$this->ipsclass->input['IP_ADDRESS']}' LIMIT 1 ; Но в результате такого запроса, всё начинает неимоверно лагать, подскажите - как лучше сделать? Изменено 12 Апреля 2006 пользователем Destruction Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
olegd Опубликовано 12 Апреля 2006 Жалоба Поделиться Опубликовано 12 Апреля 2006 Необходимо проверить, есть ли в ibf_posts.ip_address и ibf_members.ip_address, некое значение айпиша. Соответсвенно делаю запрос:SELECT id FROM ibf_members, ibf_posts WHERE ibf_members.ip_address='{$this->ipsclass->input['IP_ADDRESS']}' or ibf_posts.ip_address='{$this->ipsclass->input['IP_ADDRESS']}' LIMIT 1 ; Но в результате такого запроса, всё начинает неимоверно лагать, подскажите - как лучше сделать? Добавлю к этому что форум на котором это выполняется работает на отдельном сервере, без какой-либо дополнительной нагрузки. Сообщений более 600 тысяч. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 12 Апреля 2006 Жалоба Поделиться Опубликовано 12 Апреля 2006 У тебя декартово перемножение.Чтобы выбирать из 2-х таблиц, нужно чтобы обе таблицы как-то пересекались друг с другом. Хотя бы по индексу, в идеале - по уникальному ключу.А в твоём случае тебе нужно сделать 2 запроса, ну а насчёт того что нужно ставить на поле IP_ADDRESS индекс, я это уже говорил давно в "косяках" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 12 Апреля 2006 Жалоба Поделиться Опубликовано 12 Апреля 2006 тут даже limit не спасет.limit вообще не панацея, никогда! =)Потому что всегда делается в начале сам запрос. В данном случаедекартово перемножениеа уж потом накладываются рамки. А запрос предложенный топикстартером явно демонстрирует то, как нельзя делать запросы. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 12 Апреля 2006 Автор Жалоба Поделиться Опубликовано 12 Апреля 2006 Блин, и правда.. Эхх, всё, бросаю пить, сажусь за мускул. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.