Установка магазина - ошибка MAX_JOIN_SIZE Есть решение
После переноса магазина появилась ошибка при выводе иннформации о товаре. Как исправить? спасибо за помощь.
Query Error Query: SELECT p.*,p.id,COUNT(*) orders_count FROM shop_product p JOIN shop_order_items oi1 ON p.id = oi1.product_id JOIN shop_order_items oi2 ON oi1.order_id = oi2.order_id WHERE p.status = 1 AND oi1.product_id != 691 AND oi1.type = 'product' AND oi2.product_id = 691 GROUP BY p.id ORDER BY orders_count DESC LIMIT 5 Error: 1104 Message: 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
1104. Запрошенный ресурс недоступен.
Query Error Query: SELECT p.*,p.id,COUNT(*) orders_count FROM shop_product p JOIN shop_order_items oi1 ON p.id = oi1.product_id JOIN shop_order_items oi2 ON oi1.order_id = oi2.order_id WHERE p.status = 1 AND oi1.product_id != 691 AND oi1.type = 'product' AND oi2.product_id = 691 GROUP BY p.id ORDER BY orders_count DESC LIMIT 5 Error: 1104 Message: 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
1104. Запрошенный ресурс недоступен.
20 ответов
$model = new waModel();
$model->exec("SET SQL_BIG_SELECTS=1");
и вставьте код вызова хелпера в самое начало шаблона product.html.
<?php
class shopCustom
{
public static function someHelper()
{
$model = new waModel();
$model->exec("SET SQL_BIG_SELECTS=1")
return ...;
}
}
вставил код вызова хелпера {shopCustom::someHelper()} в самое начало шаблона product.html.
В результате белый экран Что я сделал не так?
Конкретно в этом примере не хватает точки с запятой после строки с ->exec(), и нужно либо убрать многоточие, либо в данном случае можно вообще убрать всю строку "return ...;"
return ...;
Query Error Query: SELECT p.*,p.id,COUNT(*) orders_count FROM shop_product p JOIN shop_order_items oi1 ON p.id = oi1.product_id JOIN shop_order_items oi2 ON oi1.order_id = oi2.order_id WHERE p.status = 1 AND oi1.product_id != 3579 AND oi1.type = 'product' AND oi2.product_id = 3579 GROUP BY p.id ORDER BY orders_count DESC LIMIT 5 Error: 1104 Message: 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
1104. Запрошенный ресурс недоступен.
Право не знаю.... может проще удалить магазин и установить снова? Кстати как это правильно сделать?
ALTER TABLE shop_order_items ADD INDEX `order_type` (`order_id`, `type`);
ALTER TABLE shop_order_items ADD INDEX `product` (`product_id`);
Warning: session_start() [function.session-start]: Function spl_autoload_call() hasn't defined the class it was called for in /usr/home/bibleb/domains/biblebooks.com.ua/public_html/SS5/wa-system/storage/waSessionStorage.class.php on line 69
Как излечить? Спасибо за помощь.
Query Error
Query: SELECT t0.sku_id FROM shop_product_features t0 JOIN shop_product_features t1 ON t0.sku_id = t1.sku_id JOIN shop_product_features t2 ON t0.sku_id = t2.sku_id WHERE t0.product_id = 427 AND t0.sku_id IS NOT NULL AND t0.feature_id = 31 AND t0.feature_value_id = 106 AND t1.feature_id = 32 AND t1.feature_value_id = 94 AND t2.feature_id = 33 AND t2.feature_value_id = 95 LIMIT 1
Error: 1104
Message: 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
пробовал создать файл shopCustom.class.php (у меня его кстати не было этого файла изначально - это нормально?) с указанными вами выше параметрами и вставлял его вызов в product.html - выдает ошибку 500 браузер
ALTER TABLE shop_product_features ADD INDEX `sku` (`sku_id`, `feature_id`, `feature_value_id`);
Query Error Query: SELECT p.*,p.id FROM shop_product p JOIN shop_product_features pf1 ON p.id = pf1.product_id AND pf1.feature_id = 49 JOIN shop_product_features pf2 ON p.id = pf2.product_id AND pf2.feature_id = 33 JOIN shop_product_features pf3 ON p.id = pf3.product_id AND pf3.feature_id = 32 JOIN shop_product_features pf4 ON p.id = pf4.product_id AND pf4.feature_id = 43 JOIN shop_product_features pf5 ON p.id = pf5.product_id AND pf5.feature_id = 40 JOIN shop_category_products cp1 ON p.id = cp1.product_id WHERE pf1.feature_value_id IN (152) AND pf2.feature_value_id IN (104) AND pf3.feature_value_id IN (98) AND pf4.feature_value_id IN (140) AND pf5.feature_value_id IN (1) AND p.type_id IN (5) AND p.status = 1 AND cp1.category_id IN(56) GROUP BY p.id ORDER BY cp1.sort ASC LIMIT 30 Error: 1104 Message: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
ALTER TABLE `shop_product_features` ADD INDEX `product_feature` (`product_id`, `feature_id`, `feature_value_id`)
Если будут новые ошибки про MAX_JOIN_SIZE, пишите пожалуйста сразу в техподдержку. Добавьте ссылку на этот топик с просьбой передать разработчикам.
Query Error
Query: SELECT SQL_CALC_FOUND_ROWS sc.*, c.*, o.create_datetime AS last_order_datetime
FROM wa_contact AS c
JOIN shop_customer AS sc
ON c.id=sc.contact_id
LEFT JOIN shop_order AS o
ON o.id=sc.last_order_id
LEFT JOIN wa_contact_emails AS e ON e.contact_id=c.id
LEFT JOIN wa_contact_data AS p ON p.contact_id=c.id AND p.field="phone"
WHERE (CONCAT(c.name, ' ', IFNULL(e.email, ''), ' ', IFNULL(p.value, '')) LIKE '%шты%')
GROUP BY c.id
ORDER BY c.name
LIMIT 0, 10
Error: 1104
Message: 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
Please contact app developer.
Думаю, что это связано с вызова хелпера. Не знаю в каком файле его установить?