Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
mysql ругается на запрос (Вячеслав) 23/11/2009 - 10:55:47
      Re: mysql ругается на запрос (Sc@M) 25/12/2009 - 18:48:44
      Re: mysql ругается на запрос (Sc@M) 25/12/2009 - 18:48:55

> Original message text:
> From: Вячеслав - 23/11/2009 - 10:55:47
> Subject:mysql ругается на запрос
> -----------------
> Добрый день!
> Mysql выдает ошибку:
> Couldn't execute query.: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
> Запрос такой:
> $sql = "SELECT * FROM
> SS_orders AS o, SS_order_status_changelog AS s, SS_customer_reg_fields_values_quickreg AS q,
> SS_customer_reg_fields_values AS c
> WHERE
> o.orderID=s.orderID
> AND
> o.statusID=4
> AND
> s.status_name='Отправлен'
> AND
> c.customerID=o.customerID AND o.customerID IS NOT NULL
> ";
> Пожалуйста помогите!!!
>


From: Sc@M - 25/12/2009 - 18:48:44
Subject:mysql ругается на запрос
-----------------
Судя по времени ответу, думаю, что уже не актуально, но всё равно отвечу =)
Запрос не оптимизирован. MySQL приходиться обрабатывать слишком много строк. Он так и ругается: "...MAX_JOIN_SIZE..."
Из-за чего это происходит. Видимо потому, что таблицы объеденены в неоптимальном порядке, возможно отсутствуют индексы на сравниваемых полях, либо они имеют не одинаковые типы и длины. К примеру тип INT() не сможет быть наложен на MEDIUMINT, поэтому MySQL обрабатывает все строки во всех таблицах. А конечное число строк становится очень громоздким так как их количество равно количество строк в первой таблицы * кол-во второй * кол-во третей. Вот и ругается, что не может обработать такой массив данных. Курите ман! =) Изучите LEFT JOIN и STRAIGHT_JOIN =)


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36588



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |