Перейти к содержанию
Форум поддержки пользователей VamShop

Срочная проблема с select


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

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

16/12/2010 15:12:29 | 1104 - 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

                                  p.products_fsk18,

                                  p.products_id,

                                  p.products_price,

                                  p.products_tax_class_id,

                                  p.products_image,

                                  pd.products_name,

                                  p.products_quantity,

                                  p.products_vpe,

                            p.products_vpe_status,

                            p.products_vpe_value,

                                  pd.products_short_description FROM orders_products opa, orders_products opb, orders o, products p, products_description pd

                                  where opa.products_id = '1575'

                                  and opa.orders_id = opb.orders_id

                                  and opb.products_id != '1575'

                                  and opb.products_id = p.products_id

                                  and opb.orders_id = o.orders_id

                                  and p.products_status = '1'

                                  and pd.language_id = '1'

                                  and opb.products_id = pd.products_id

                                 

                                 

                                  group by p.products_id order by o.date_purchased desc limit 6 | /item1575.html

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

Спасибо! Проблему решил.

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

Может переписать сам запрос? По мойму, это самый правильный путь.

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

Спасибо! Проблему решил.

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

Может переписать сам запрос? По мойму, это самый правильный путь.

расскажи как решил проблему, приведи, если можно, листинг

аналогичная проблема, подскажи плз

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

Вам скинул решение. Надо установить режим большого селекта. Платить программеру деньги, чтобы оптимизировал селект я не стал, так как считаю, это должно делаться теми кто развивает двиг.

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

Вам скинул решение. Надо установить режим большого селекта. Платить программеру деньги, чтобы оптимизировал селект я не стал, так как считаю, это должно делаться теми кто развивает двиг.

а куда скинули решение? на почте у меня нет, в личных сообщениях тоже

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

Так выше есть ссылка как исправить - http://vamshop.ru/forum/index.php?topic=1310.msg11774#msg11774

Я читал, спасибо, для версии 1,55 это тоже справедливо?

меня еще все же интересует как эту проблему решил Rodan

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

Да.

Нужно в /inc/vam_db_connect.inc.php вставить указанную в теме строку (mysql_query ....)

не нашел я там указанной строки

Вот что в нем:


  function vam_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link', $use_pconnect = USE_PCONNECT, $new_link = false) {
    global $$link;

    if ($use_pconnect == 'true') {
    $$link = mysql_pconnect($server, $username, $password);
    } else {
$$link = @mysql_connect($server, $username, $password, $new_link);

  }

if ($$link){
  @mysql_select_db($database);
  @mysql_query("SET SQL_MODE= ''");
  @mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
}

//Start VaM db-error processing
    if (!$$link) {
      vam_db_error("connect", mysql_errno(), mysql_error());
    }
//End VaM db-error processing

    return $$link;
  }

[/code]

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...