baarseek Опубликовано 21 апреля, 2016 Жалоба Поделиться Опубликовано 21 апреля, 2016 При попытке перехода по страницам, на вкладке "все заказы" - выпадает ошибка: Warning: 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 [SELECT o.id, o.delivery_id, o.delivery_price, o.separate_delivery, o.payment_method_id, o.paid, o.payment_date, o.closed, o.discount, o.coupon_discount, o.date, o.user_id, o.name, o.address, o.phone, o.email, o.comment, o.status, o.url, o.total_price, o.note FROM s_orders AS o LEFT JOIN s_orders_labels AS ol ON o.id=ol.order_id WHERE 1 ORDER BY status, id DESC LIMIT 21820, 20 ] in /htdocs/api/Database.php on line 105 Warning: 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 in /htdocs/api/Database.php on line 150 Warning: Invalid argument supplied for foreach() in /htdocs/api/Orders.php on line 121 Всего заказов в базе 21831. До этого вкладка "все заказы" вообще не открывалась, удалил около 1000 ненужных заказов и она стала работать. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 21 апреля, 2016 Жалоба Поделиться Опубликовано 21 апреля, 2016 http://www.askdev.ru/mysql/3746/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-The-SELECT-would-examine-more-than-MAX_JOIN_SIZE-rows/http://stackoverflow.com/questions/950465/mysql-sql-big-selects Цитата Ссылка на сообщение Поделиться на другие сайты
baarseek Опубликовано 21 апреля, 2016 Автор Жалоба Поделиться Опубликовано 21 апреля, 2016 C выводом через $id_filter $status_filter $user_filter $keyword_filter $label_filter $modified_since_filter GROUP BY o.id ORDER BY status, id DESC $sql_limit", "%Y-%m-%d"); ошибки нет, но грузится страница невероятно долго, иногда падая в ошибку 500.С выводом через $id_filter $status_filter $user_filter $keyword_filter $label_filter $modified_from_filter ORDER BY status, id DESC $sql_limit", "%Y-%m-%d"); описанная выше проблема с переходом по страницам, но грузится быстрее. Цитата Ссылка на сообщение Поделиться на другие сайты
baarseek Опубликовано 21 апреля, 2016 Автор Жалоба Поделиться Опубликовано 21 апреля, 2016 Ошибку я первым делом погуглил, но у меня нет доступа к настройкам mysql, хостер не дает. Еще обратил внимание на странный эффект, у меня постранично получается 1092 страницы заказов. Если перейти на 1091 страницу - все окей, ошибка возникает только на 1092 странице. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 21 апреля, 2016 Жалоба Поделиться Опубликовано 21 апреля, 2016 Ошибку я первым делом погуглил, но у меня нет доступа к настройкам mysql, хостер не дает. Еще обратил внимание на странный эффект, у меня постранично получается 1092 страницы заказов. Если перейти на 1091 страницу - все окей, ошибка возникает только на 1092 странице.$this->db->query("SET SQL_BIG_SELECTS=1"); Цитата Ссылка на сообщение Поделиться на другие сайты
baarseek Опубликовано 21 апреля, 2016 Автор Жалоба Поделиться Опубликовано 21 апреля, 2016 Спасибо, такой запрос до выборки решает проблему. Но я так и не понял, откуда она возникла. Буду разбираться. Еще раз спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 21 апреля, 2016 Жалоба Поделиться Опубликовано 21 апреля, 2016 Спасибо, такой запрос до выборки решает проблему. Но я так и не понял, откуда она возникла. Буду разбираться. Еще раз спасибо. Способ, который подсказал Kosyak76 - это способ пассивно-отступательный. При таком подходе излишне необоснованно грузится сервер БД. По-хорошему, надо бы найти причину и исправлять как следует... Проблема скорее всего в неправильном запросе.Сравнивайте со стандартным запросом Simpla - у ВАс, например, отсутствует GROUP BY, и в выборке могут возникать НЕСКОЛЬКО записей от одного заказа (отличающиеся разными метками). Цитата Ссылка на сообщение Поделиться на другие сайты
baarseek Опубликовано 21 апреля, 2016 Автор Жалоба Поделиться Опубликовано 21 апреля, 2016 Способ, который подсказал Kosyak76 - это способ пассивно-отступательный. При таком подходе излишне необоснованно грузится сервер БД. По-хорошему, надо бы найти причину и исправлять как следует... Понимаю. Буду выяснять, что не так. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.