Похожие чаты

Подскажите, пожалуйста. Делаю замеры скорости запроса разных стратегий загрузки в ORM.

Выясняется, что в Many-to-one почти всегда выигрывает subquery, также как и в Many-to-many. Разница на миллионе записей почти в два раза. Получаю в общем на миллионе записей такие результаты:


Many-to-many
Joined ±12sec
Selectin ±7sec
Subquery ±5sec
Core ±8 ms

Как вы думаете, насколько вообще адекватны результаты?

13 ответов

1 просмотр

а ты в оригинальной выборке сделай 100500 фильтров и посмотри =)

Ilya-Lyapin (Nestyreff) Автор вопроса

То есть sub query лучше не использовать, если сложная where конструкция?

Ilya Lyapin (Nestyreff)
То есть sub query лучше не использовать, если слож...

subquery лучше не использовать если ты не уверен на 100% что он тебе действительно нужн

Ilya-Lyapin (Nestyreff) Автор вопроса
Tishka17
subquery лучше не использовать если ты не уверен н...

Хм, вот на основе этих замеров что-то мне кажется что задумываться надо над использованием чего-то кроме сабквери)

Ilya-Lyapin (Nestyreff) Автор вопроса
Tishka17
у тебя в оригинальном запросе что было?

Родитель и множество дочерних, у одного дочернего несколько родителей. Получаю список дочерних у родителя через relationship с разными стратегиями

Ilya Lyapin (Nestyreff)
Родитель и множество дочерних, у одного дочернего ...

subquery же исполняет исходный запрос два раза. Так что если у тебя сам по себе запрос медленный, то subquery будет медленее, нежели selectin

Почему у тебя core в сотни раз быстрее orm?

только сейчас разглядел 7 сек и 5 сек. Это что за числа аткие большие

Ilya-Lyapin (Nestyreff) Автор вопроса
Pavel Павлик
Почему у тебя core в сотни раз быстрее orm?

Потому что замер берет еще маппинг объектов, да. Core здесь я просто сравнивал для себя, основное сравнение между стратегиями ВМЕСТЕ С маппером орм.

Ilya-Lyapin (Nestyreff) Автор вопроса
Ilya Lyapin (Nestyreff)
Потому что замер берет еще маппинг объектов, да. C...

Стратегии создают разные запросы, а ты сравниваешь не скорость этих запросов, а скорость работы маппинга

Ilya-Lyapin (Nestyreff) Автор вопроса

вообще не очень понятно насколько эффективно делать серии замеров, ведь получается что на первых запросах всё будет идти как обычно, а дальше у базы будет врубаться кеш и вот хз можно ли в sqlite его вырубить

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

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

тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
читать файл максимально быстро? странный вопрос))
zamtmn
53
Посоветуйте пожалуйста аудио плеер для библиотеки mp3- FLAC на компьютере. На Винде пользовался Aimp, в том числе для конвертации. Много нужных команд было прямо в контекст...
Виктор Кузнецов
31
How Much Btc Falling Down ?
Suriya
22
Hi guys ! Anvil is out ! Time for me to stake on capacity. Does someone has a clear tutorial ? I’m thinking about buying a ledger. Is that really possible to stake directl...
Mister Grega
15
It is definitely an interesting conversation. Breaking up the users into 2 personas: 1. Someone who wants to use the products (I want “x” pegged stablecoin that provides safe...
Bueno Pues
10
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
Is someone using mymonero? What can you say about the wallet?
warrenique
16
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Ajeeb aadmi hai, isko padhna nahi aata kya?
Jay Bansal
43
Карта сайта