|
объединение или выбор когда | ☑ | ||
---|---|---|---|---|
0
DomanM
12.01.16
✎
10:14
|
Есть регистр накопления , измерение факт булево в зависимости его в отчете на скд выводится факт или план, как лучше для производительности делать запрос - объединение или через выбор когда? пример по производительности делать сложно, просто запрос время варьирует и разницы не увидать((
|
|||
1
ObjectRelation Model
12.01.16
✎
10:15
|
лучше разнести на два регистра, отдельно план, отдельно факт
|
|||
2
FIXXXL
12.01.16
✎
10:15
|
я за объединение
с ним, как я понял, скулю проще запрос строить |
|||
3
DomanM
12.01.16
✎
10:18
|
(1) плана куда меньше чем факта
|
|||
4
ObjectRelation Model
12.01.16
✎
10:19
|
(3) это ничего не отменяет
|
|||
5
hhhh
12.01.16
✎
10:23
|
(3) ну в общем тут аксиома: через ВЫБОР в 60 раз медленнее, чем через объединение. Очень легко запоминается, например, делаешь запрос через ВЫБОР КОГДА, он выполняется 30 минут, если сделаешь такой же через ОБЪЕДИНИТЬ, он выполнится за 30 секунд.
|
|||
6
mehfk
12.01.16
✎
10:25
|
(5) Ровно в 60?
|
|||
7
DomanM
12.01.16
✎
10:26
|
(5) че то как то совсем не вижу такой закономерности в запросах, уточню у меня в запросе даже через выбор когда будут объединения по условиям, например 6 штук, получается что при объединении их будет 12 к примеру
|
|||
8
hhhh
12.01.16
✎
10:29
|
(6) ну еще другие факторы накладываются.
|
|||
9
hhhh
12.01.16
✎
10:34
|
(7) там главное в индекс попасть. Если условие попадает в индекс, то оно будет в сотни раз быстрее выполняться, чем если тупо будет лопатить все записи в базе подряд. ПОэтому условия должны быть максимально простыми, без всяких ИЛИ и ВЫБОРов.
|
|||
10
DomanM
12.01.16
✎
10:42
|
(9) т е сам планировщик точно не превращает эти выбор когда в объединения?
|
|||
11
DomanM
12.01.16
✎
10:48
|
(9) всем всем всем мои замер ыпоказали что выбор когда лучше, если запросы запускать по очереди то немного лучше объединение, если подряд то явно лучше выбор когда
|
|||
12
hhhh
12.01.16
✎
10:54
|
(11) "по очереди" - это ведь "подряд".
|
|||
13
DomanM
12.01.16
✎
10:56
|
(12) по очереди то одно то другое, подряд сначало несколько раз одно потом несколько раз другое
|
|||
14
hhhh
12.01.16
✎
11:00
|
(13) тогда "подряд" вообще не смотрите, это просто кеш работает, результат из кеша берется, если один и тот же запрос несколько раз подряд.
запускайте толдько по очереди, то есть понятно, что объединение лучше. |
|||
15
DomanM
12.01.16
✎
11:06
|
(14) странно что кэш вообщем сопоставим с временем по очереди, и почему из кеша объединение берется дольше? я просто про то что аксиома не работает ну прям совсем совсем
|
|||
16
DomanM
12.01.16
✎
12:22
|
спецов по этим делам нет значит?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |