Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Запрос исполняется очень долго, а вроде бы не должен

Ответить
Настройки темы
MySQL - Запрос исполняется очень долго, а вроде бы не должен

Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Добрый всем день!
Посылаю в MySQL запрос:
Код: Выделить весь код
Select id from CnPODWords where ID in (Select ID from CnPODWords group by word having count(word)>15)
Он почему-то исполняется очень долго (я даже не смог дождаться в течение 5 минут). Причем код:
Код: Выделить весь код
Select ID from CnPODWords group by word having count(word)>15
по отдельности исполняется моментально и не возвращает результатов.

В таблице CnPODWords около 13000 строк.

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

Отправлено: 22:36, 06-05-2011

 

Deadooshka


Сообщения: 2517
Благодарности: 692

Профиль | Отправить PM | Цитировать


1. вроде бы нельзя одну таблицу юзать в запросе и подзапросе
http://dev.mysql.com/doc/refman/5.5/en/subqueries.html

2. подзапросы в IN плохо оптимизируются
http://dev.mysql.com/doc/refman/5.5/...trictions.html

Отправлено: 23:06, 06-05-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для palladin_jedi

Пользователь


Сообщения: 65
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Цитата evg64:
не возвращает результатов. »
Может проблема в этом?

ИМХО, лучше получить первым запросом массив, а потом через цикл foreach() или mysql_fetch_array обработать значения.

-------
Free source = dead project


Отправлено: 22:12, 21-05-2011 | #3


Аватара для Hangsman

Пользователь


Сообщения: 55
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата Sham:
1. вроде бы нельзя одну таблицу юзать в запросе и подзапросе
http://dev.mysql.com/doc/refman/5.5/en/subqueries.html »
Можно

Цитата evg64:
Посылаю в MySQL запрос:
Код:
Select id from CnPODWords where ID in (Select ID from CnPODWords group by word having count(word)>15)
Он почему-то исполняется очень долго (я даже не смог дождаться в течение 5 минут). Причем код:
Код:
Select ID from CnPODWords group by word having count(word)>15 »
Слей результат запроса Select ID from CnPODWords group by word having count(word)>15 во временную таблицу и будет счастье.

Долго выполняетса - воспользуйся командой EXPLAIN

EXPLAIN Select id from CnPODWords where ID in (Select ID from CnPODWords group by word having count(word)>15)
Это даст возможность проанализировать запрос и понять более детально, где собака зарыта

Отправлено: 21:29, 18-07-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Запрос исполняется очень долго, а вроде бы не должен

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - Очень долго загружаются программы Konstantin-r Microsoft Windows 2000/XP 14 25-02-2011 00:34
HDD - Почему очень долго загружается ОС? jasonbourne80 Накопители (SSD, HDD, USB Flash) 6 17-12-2010 01:07
Интернет - [решено] Долго отправляется запрос на скачивание VDI Microsoft Windows 2000/XP 8 25-04-2008 21:20
Загрузка - Очень долго грузится interminable Microsoft Windows 2000/XP 8 13-09-2007 14:48
Ну очень долго грузится xp goshik Microsoft Windows 2000/XP 8 31-01-2004 13:42




 
Переход