Перейти к контенту

Помогите оптимизировать запрос.


Рекомендуемые сообщения

Необходимо проверить, есть ли в 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 ;

 

Но в результате такого запроса, всё начинает неимоверно лагать, подскажите - как лучше сделать?

Изменено пользователем Destruction
Ссылка на комментарий
Поделиться на других сайтах

Необходимо проверить, есть ли в 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 тысяч.

Ссылка на комментарий
Поделиться на других сайтах

У тебя декартово перемножение.

Чтобы выбирать из 2-х таблиц, нужно чтобы обе таблицы как-то пересекались друг с другом. Хотя бы по индексу, в идеале - по уникальному ключу.

А в твоём случае тебе нужно сделать 2 запроса, ну а насчёт того что нужно ставить на поле IP_ADDRESS индекс, я это уже говорил давно в "косяках"

Ссылка на комментарий
Поделиться на других сайтах

тут даже limit не спасет.

limit вообще не панацея, никогда! =)

Потому что всегда делается в начале сам запрос. В данном случае

декартово перемножение

а уж потом накладываются рамки.

 

А запрос предложенный топикстартером явно демонстрирует то, как нельзя делать запросы.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.