|
|
|
CORE-3076 ("OR'ed params": field = :param or :param = -1): не работает с view от group by
|
|||
|---|---|---|---|
|
#18+
hi all В узких кругах широко известно, что до FB 2.5 включительно ХП, делающие выборки вида Код: sql 1. - будут "идти по натуралу", если передан null. Можно, конечно, делать выкрутасы типа Код: sql 1. - но для between оптимизатор считает, что вернётся 25% строк, и это может повлиять на выбор индекса. В релизнотах к ФБ-3 на странице 57 сказано: OR'ed Parameter in WHERE Clause Dmitry Yemanov Performance for (table.field = :param or :param = -1) in the WHERE clause was enhanced.- что относится, видимо, к http://tracker.firebirdsql.org/browse/CORE-3076 Увы и ах, но сиё не работает для выборок из вьюх, если они созданы с group by. DDL: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Далее выполняю: Код: plaintext 1. И вижу: trace для sp_agg_ORed(1) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. trace для sp_agg_BTWN(1) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 15:55:13 |
|
||
|
CORE-3076 ("OR'ed params": field = :param or :param = -1): не работает с view от group by
|
|||
|---|---|---|---|
|
#18+
Таблоиддо FB 2.5 включительно ХП, делающие выборки вида Код: sql 1. - будут "идти по натуралу", если передан null.Поправочка. Будут идти ВСЕГДА по натуралу, чтобы туда не передавали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 15:56:25 |
|
||
|
CORE-3076 ("OR'ed params": field = :param or :param = -1): не работает с view от group by
|
|||
|---|---|---|---|
|
#18+
Таблоид, внутрь группировки пропихивается не все, а лишь условия с полями нижележащих таблиц. Поэтому CORE-3076 поверх группировки не работает. Теоретически может такое и возможно, но разбираться нет ни времени ни желания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 16:01:33 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38623310&tid=1563666]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 518ms |

| 0 / 0 |
