Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема: при запросе по View не используется индекс
|
|||
|---|---|---|---|
|
#18+
Мне подсунули такой View (не я его сочинил :-) ): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Задумка создателя View была такая: он хотел, чтобы код, делающий запросы по [TheView], не знал, что в данный конкретный момент прячется за полем [TheView].IPNumber: поле [IPCAEDetail].IPNameNumber или поле [IPCAEDetail].CAENumber. Чтобы можно было это “динамически регулировать” через некую другую таблицу [System.Parameters]. И всё работает, но: при этом НЕ используются индексы, которые таблица [IPCAEDetail] имеет на этих полях [IPCAEDetail].IPNameNumber и [IPCAEDetail].CAENumber. При таком вот запросе: Код: sql 1. происходит Scan по всей таблице [IPCAEDetail]. Тогда как “ select * from [IPCAEDetail] ipc where ipc.CAENumber = '426976225' ” использует индекс, имеющийся для [IPCAEDetail].CAENumber. Вопрос: можно ли как-то “заставить” SQL использовать эти индексы при поиске по этому “динамически определяемому через CASE ...” полю [TheView].IPNumber ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2018, 12:52 |
|
||
|
Проблема: при запросе по View не используется индекс
|
|||
|---|---|---|---|
|
#18+
Все or придется писать через union all. Т.е. как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Условия из cte тоже неплохо бы убрать из под case. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2018, 12:59 |
|
||
|
Проблема: при запросе по View не используется индекс
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2018, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39717552&tid=1688971]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 419ms |

| 0 / 0 |
