- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Может, это можно побороть?
А зачем там джоин, когда можно обойтись одной таблицы?
SELECT t1_id, MIN(price), MAX(price) FROM t2 GROUP BY t1_id LIMIT 0, 10
либо
SELECT t1_id, MIN(price) min, MAX(price) max FROM t2 INNER JOIN (SELECT id FROM t1 LIMIT 0, 10) z ON z.id=t2.t1_id GROUP BY t2.t1_id
но на сколько это быстрее будет первого запроса не знаю
А зачем там джоин, когда можно обойтись одной таблицы?
join нужен. Есть доп. поля в t1 по которым идет выборка.
Второй запрос проверю
Есть доп. поля в t1 по которым идет выборка.
Ну тогда о чем еще можно говорить если там есть дополнительные условия. Может быть сами по себе эти запросы вовсе выполняются быстро, а дело полях по которым идет выборка. Судя по всему на них индексов у вас нет.
Судя по всему на них индексов у вас нет.
Интересно, откуда такие выводы? :)
Anyway, как я показал выше, скорость запроса только по обсуждаемым здесь полям зависит от offset. Никаких других условий в тесте не используется.
Для лимита используйте отдельный подзапрос для выборки только айдишек
Если там два селекта, проще уже будет написать так
Как я и писал выше, селекта хоть и два, но второй ищет по таблице из одной строки.
Второй селект чисто для структуры, нет выбора из тысячи/миллиона записей из таблицы t2
Вариант doctorpc не работает, так как во втором вложении ему неоткуда знать о первой таблице: Unknown column t1.id in 'where clause', поэтому его протестировать не удалось.
Вы правы, я запрос тестировал, но тестировал без последнего where. Прошу прощения.
izbushka, есть возможность скинуть полноценные структуры таблиц? имена полей заменить на field2, field3
Есть доп. поля в t1 по которым идет выборка.
А это вообще ситуацию меняет. Индекс по доп полю тогда смысла не имеет. Составной нужен. Вроде не упоминался нигде.