Как сделать, чтобы этот запрос не использовал временную таблицу для

ORDER BY.. ?)

11 ответов

14 просмотров

Для начала пришли корректный запрос

Andriy-Ba 🦅 Автор вопроса
Ilya Zviagin
Для начала пришли корректный запрос

А что не так с тем что я выше скинул?

Andriy-Ba 🦅 Автор вопроса

EXPLAIN SELECT ucp .* FROM (users_content_partners_2 AS ucp) JOIN users_partners AS up ON (up.id = ucp.users_partners_id) WHERE ucp.users_partners_id = 3356970 ORDER BY ucp.id DESC LIMIT 0, 11;

Andriy Ba 🦅
EXPLAIN SELECT ucp .* FROM (users_content_part...

Ну смотри вот сюда точка У тебя есть таблица users Content partners. У неё есть видимо ключ по User partners ID. И ты используешь запросе фильтр по этому полю users partners ID и ещё сортировку по полю ID из этой же таблицы. Как оптимизируется запросы по этим критериям: фильтр может оптимизироваться индексом и получать из индекса очень быстро записи. Оптимальность этой операции зависит от количества записей приходящихся на одно значение ключа. Допустим предположим что это количество либо единица либо малая величина типа 10-50. Тогда это будет оптимальной операцией. Дальше может быть оптимизирован подраздел ордер бай. Это делается путём сканирования какого-то индекса в котором записи следует в порядке которые указан в этой фразе orderby. Нужно сразу сказать что это очень плохая оптимизация Ну то есть либо плохая либо очень плохая потому что чаще всего она неэффективная. Ну если количество записей которые запрос отфильтровал на всех предыдущих этапах а сортировка - Это самый последний этап выполнения запроса если количество записей маленькое то эта оптимизация не нужна вообще серверу легче взять там 50 100 записей отсортировать их в памяти и выдать

Ilya Zviagin
Ну смотри вот сюда точка У тебя есть таблица users...

Ну так вот идея в том что один запрос на одну таблицу может применить только одну условие оптимизации либо он оптимизирует фильтр либо он оптимизирует сортировку оптимизировать фильтр всегда гораздо более выгоднее чем сортировка потому что фильтр сразу даёт большое отсечение по количеству обрабатываемых запросов строк Это очень хорошо

Ilya Zviagin
Ну смотри вот сюда точка У тебя есть таблица users...

Так вот у тебя есть две возможные оптимизации которые можно применить на эту таблицу это оптимизация фильтра либо оптимизация сортировки. Оптимизировать фильтр выгодно очень сильно оптимизировать сортировку почти никогда не выгодно точка У тебя достаточно простой запрос тут наверное сортировку можно было бы оптимизировать вот я говорю В общем в целом

Andriy-Ba 🦅 Автор вопроса
Ilya Zviagin
Ну так вот идея в том что один запрос на одну табл...

Что делать если после фильтра возвращается 100к данных?

Ilya Zviagin
Так вот у тебя есть две возможные оптимизации кото...

Так вот получается что оптимизировать-то лучше тебе фильтр, фразу where, а вовсе не сортировку

Andriy Ba 🦅
EXPLAIN SELECT ucp .* FROM (users_content_part...

Сколько записей приходится в этой таблице в таблице users Content Partner на одно значение users partners ID? Можно сказать конкретнее сколько приходится вот на Конкретно этот ID

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
А вот из практических задач на работе, кто работает расскажите относительно задач на работе, как вообще выживаете. Если есть желание, интересно тоже что и как сейчас с этим . ...
...
2
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Привет. На сайте с видео установлена защита, не позволяющая скачивать видео, делать скриншоты и скринкасты, но это работает только с пк и устройств эпл. С андроида работают ск...
Lencore
1
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
@dblackCat Привет. Это же твой плагин? https://octobercms.com/plugin/catdesign-productbundle
Alexey Yakimov
5
Карта сайта