- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
нет.. я думаю тут дело именно в параметре sort buffer size=2M , но больше ставить вроде ни где не рекомендуют... просто ограничиваю при выборе базу оценок id<40000 и filesort пропадает... (мой Индекс 2,149.0 КБ )
какой у вас и какие параметры для sort buffer size / myisam sort buffer size
having: мой запрос видимо для mysql очень похож на группировку по n.foto=f.id (ведь несколько оценок для одной фотки)
если не использовать having то как не крути будет using temporary для n + where для f (соответственно долгое выполнение)
Почему у вас такого нет?
Очень просто, у вас условия только для одной таблицы, поставьте дополнительное условие для f как у меня (f.ok=1 and f.view=0 and f.ero=0), достаточно одного параметра на который нет индекса и всё переворачивается вверх дном ..
В принцепи я во всём разобрался, но ещё хотелось бы услышать что у вас получится после подстановки этого доп. условия для f.
по 90Mb на каждый (существуют гораздо более обкуренные приложения и мне раскручивать mysql выгоднее чем их переписывать. на рекомендации данные абстрактному серверу можно просто положить.).
вот explain с дополнительными условиями:
explain select f.*,username as noteuser from `photo_comments` n ,`photo_photos` f where f.id=n.photo and n.rating=10.0 and n.approved=1 and (f.approved=1 and f.views>50) order by n.id desc limit 500,20;
ничего не меняется.
Вот видите, у вас 90мб, у меня 2 .. (сколько же коннектов допускаете, если каждый уже способен взять по 90мб) с сортировкой вся понятно ;)
using temporary - скорее всего тоже какой то лимит буфера нужно подкрутить..
Говорите ничего не меняется, появился using where для f, и кто знает какое время выполнения скрипта будет...
дополнительный where еще больше уменьшает объем сортируемых данных. время даже меньше.
вообще если верить mysqltuner : [!!] Maximum possible memory usage: 16.9G (526% of installed RAM)
у меня сервер-камикадзе. однако работает он хорошо :)
на swap работает наверное :D
Ладно, спасибо за прояснение ситуации, сново чему то научился)