Не выводятся комментарии

  
Медаль
Сообщений: 136
После обновления до 1.8 перестали выводиться комментарии везде. Попробовал вручную выполнить запрос к базе:
Код PHP:
SELECT c.id, c.guestname, c.content, c.pubdate AS fpubdate, c.target_title, c.target_link, c.ip, c.user_id, IFNULL( v.total_rating, 0 ) AS votes, IFNULL( u.nickname, 0 ) AS nickname, IFNULL( u.login, 0 ) AS login, IFNULL( u.is_deleted, 0 ) AS is_deleted, IFNULL( p.imageurl, 0 ) AS imageurl, IFNULL( p.gender, 0 ) AS gender
FROM cms_comments c
LEFT JOIN cms_ratings_total v ON v.item_id = c.id
AND v.target = 'comment'
LEFT JOIN cms_users u ON u.id = c.user_id
LEFT JOIN cms_user_profiles p ON p.user_id = u.id
WHERE c.published =1
ORDER BY c.id DESC 
LIMIT 0 , 20
Выдало такую ошибку:
Код PHP:
#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
Хостиг sweb.ru, что делать не знаю sad
Если где-то нет чего-то - значит, что-то где-то есть!
Медаль
Сообщений: 136
Нашёл описание:
Ошибка: 1104
SQLSTATE: 42000 (ER_TOO_BIG_SELECT)
Сообщение: Для такой выборки SELECT должен будет просмотреть слишком много записей и, видимо, это займет очень много времени. Проверьте ваше указание WHERE, и, если в нем все в порядке, укажите SET SQL_BIG_SELECTS=1
Если где-то нет чего-то - значит, что-то где-то есть!
Медаль
Сообщений: 136
Получил ответ от поддержки:
Если выдается ошибка вида:
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

то добавляем в скрипт перед запросом:
mysql_query ("SET SQL_BIG_SELECTS=1");
прямо в phpmyadmin можно проверить max_join_size, там есть раздел Системные
переменные MySQL, либо запросом к БД типа:
show variables like 'max_join_size';
Проверил свой max_join_size: 2097152, и что ему в таком случае не нравится?
Если где-то нет чего-то - значит, что-то где-то есть!
Сообщений: 34
Кстати может как-то можно этот запрос оптимизировать? У меня время от времени mysql задумывается над этим запросом на 15-20 секунд. А это не есть хорошо...
Сообщений: 34
Кхм... Я так понимаю ни у кого нет проблем с этим запросом?
МедальАвторитет форума
Сообщений: 1002
попробуйте как здесь: тема
Делай добро и бросай его в воду, пусть плывет дальше...)
Сообщений: 34
Спасибо, конечно, но тут проблема в другом. При существующей форме запроса, даже на моём довольно мелком сайте MySQL пробегает по 12 миллионам записей. Т.е. тут надо как-то запрос оптимизировать. Может разбить на два запроса.
Медаль
Сообщений: 257
отключите комментарии гостей
Сообщений: 34
Пробовал. Во-первых ничего не изменилось, во-вторых это не решение проблемы.
Сообщений: 34
Товарищи! Ну не уж то ни у кого нет подобной проблемы?
Наверняка ведь можно упростить запрос.
В начало страницы 
|
Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.