- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Господа программисты, помогите, есть запрос который делает случайную выборку 5 товаров из категории:
SELECT i.id, i.category, i.vendor, i.name, i.low_price, p.parent, p.picture
FROM item i
LEFT JOIN picture p ON p.parent = i.id
WHERE i.cat_items = '90566'
ORDER BY RAND( )
LIMIT 5
обрабатывается более 9.2 сек, из-за него жестко тормозит сайт, как можно оптимизировать запрос?
FROM item i
Что такое "item"? Индексы поставили на поле cat_items? Сколько записей в таблице i?
ORDER BY RAND( )
все тормозит, скорее всего
попробуйте сначала получить небольшой список ids потом из него уже выбрать.
Много записей всего?
с индексами всё гут?
Господа программисты, помогите, есть запрос который делает случайную выборку 5 товаров из категории:
SELECT i.id, i.category, i.vendor, i.name, i.low_price, p.parent, p.picture
FROM item i
LEFT JOIN picture p ON p.parent = i.id
WHERE i.cat_items = '90566'
ORDER BY RAND( )
LIMIT 5
обрабатывается более 9.2 сек, из-за него жестко тормозит сайт, как можно оптимизировать запрос?
order by rand() заставляет базу данных полностью выбирать данных из обоих таблиц, да еще и по объединению. Избавляйтесь от него так или иначе, rand() самое зло.
Если уж совсем не придумать как избавиться, делайте rand выборку 5 id из item, а потом уже делайте по ним Ваш запрос (выкинув ранд и включив where id in (те 5 штук) ).
После этого вешайте индексы на parent, id, cat_items , при чем убедитесь что parent, id строго одного типа ( int (11) допустим оба ).
Сократить число результирующих строк, которые сортируются рандомно...
Советую почитать http://habrahabr.ru/post/55864/
или вот еще ORDER BY RAND
спасибо всем, особено rbbumfirst, самы простой для меня вариант, время сократил до 0,10 сек