Меню
Категории
SMF — The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1
5 декабря, 2011 ИТ

При попытке забанить пользователя или удалить сообщение на форуме SMF версии 1.1.15 форум выдал следующее сообщение.

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
Файл: /home/m/makakru/halava.info/public_html/forum/Sources/ManageBans.php
Строка: 1149

Примечание: Возможно Вашей базе данных требуется обновление. Версия файлов Вашего форума SMF 1.1.15, тогда как версия Вашей базы данных 1.1.4. Для устранения ошибки обновите, пожалуйста, форум.

В файле load.php

Найти строку

// Try to load it from the cache first; it’ll never get cached if the setting is off.

добавить для SMF1

db_query(“SET SQL_BIG_SELECTS=1”, __FILE__, __LINE__);

добавить для SMF2

$request = $smcFunc[‘db_query’](”, ‘SET SQL_BIG_SELECTS=1’,array());

После добавления этой строчки проблема исчезла.

SQL_BIG_SELECTS При установке в 0 MySQL будет прерывать выполнение запроса, если поступившая команда SELECT может потребовать слишком много времени для выполнения. Такая возможность полезна при нерационально написанном выражении WHERE. Запрос классифицируется как слишком большой, если команда SELECT, возможно, будет обрабатывать больше строк, чем задано в max_join_size. Для нового соединения значение по умолчанию равно 1 (т.е. разрешаются любые команды SELECT).

Добавить комментарий




*