Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Есть view. view не индексировано На таблицах есть куча индексов. Попытка заставить использовать нужный индех ни к чему не приводит - оптимайзер все-равно пользует тот который ему нравится. Возможно ли вообще заставить опптимизатор использовать индех на таблице через вью ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:15 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Извини, дарагой. но оптимизатор умнее тебя. Как он из t1_index2 достанет i? Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:33 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelan, почему вы ищете по i, а при этом считаете что нужный индекс по v? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:34 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
aleks222, не извиню дарагой. Реальная задача на много сложнее. В реальной системе оптимизатор не всегда прав. И в этом случае его нужно заставить идти правильныйм путем. Приведенный код доказывает что индексы не работают. ВОПРОС Возможно ли вообще заставить опптимизатор использовать индех на таблице через вью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:41 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanaleks222, не извиню дарагой. Реальная задача на много сложнее. В реальной системе оптимизатор не всегда прав. И в этом случае его нужно заставить идти правильныйм путем. Приведенный код доказывает что индексы не работают. ВОПРОС Возможно ли вообще заставить опптимизатор использовать индех на таблице через вью? Приведенный говнокод доказывает только квалификацию программизда ниже плинтуса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:43 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Shakill, потомушта оптимизатор обязан выполнять хинты если они валидные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:44 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanShakill, потомушта оптимизатор обязан выполнять хинты если они валидные. вы наверное не знаете, но sql декларативный язык и тут никто никому не обязан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:50 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanShakill, потомушта оптимизатор обязан выполнять хинты если они валидные. ну так и пишите хинт внутри вью, там где имя таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:51 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
TaPaKkapelanShakill, потомушта оптимизатор обязан выполнять хинты если они валидные. вы наверное не знаете, но sql декларативный язык и тут никто никому не обязан Вам сюда: https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-2017 "Query hints specify that the indicated hints should be used throughout the query." По существу идеи есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:53 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanShakill, потомушта оптимизатор обязан выполнять хинты если они валидные. С чего Вы решили, что хинт валидный? Код: sql 1. 2. 3. 4. 5. Сиквел, найди ix1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:54 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanTaPaKпропущено... вы наверное не знаете, но sql декларативный язык и тут никто никому не обязан Вам сюда: https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-2017 "Query hints specify that the indicated hints should be used throughout the query." По существу идеи есть? по существу: вам в другой язык ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:56 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Вот кабы синтаксис был бы with (index (table1.ix1)), но тогда это был бы дедушка, а не бабушка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:57 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Shakill, вью пользуется сотнями процедур, у каждой своя специфика. Обычно оптимизатор работает правильно. В одном запросе оптимизатор пользует индекс с очень плохой кардиналити. Совсем не имеет смысла добавлять хинты во вью так как упадет сотня процедур. Правильнее модифицировать проблемный запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:57 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanВам сюда: https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-2017 "Query hints specify that the indicated hints should be used throughout the query." По существу идеи есть? по существу вы привели описание поведения query hint, а у вас table hint ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 17:58 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовВот кабы синтаксис был бы with (index (table1.ix1)), но тогда это был бы дедушка, а не бабушка. идея хорошая но так не работает exception: Incorrect syntax near '.'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:01 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelan, не работает, такого нет синтаксиса. Придётся представления править, если хотите. На самом деле Вы получаете с "плохим" индексом наиболее дешевый план, поэтому он и выбирается. Попробуйте пересчитать статистики с фулл сканом, может полегчает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:05 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовkapelan, не работает, такого нет синтаксиса. Придётся представления править, если хотите. вообще есть такой синтаксис :) Код: sql 1. 2. 3. 4. но получаем ошибку 8723, поскольку в запросе о такой таблице или алиасе ничего неизвестно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:12 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовkapelan, не работает, такого нет синтаксиса. Придётся представления править, если хотите. На самом деле Вы получаете с "плохим" индексом наиболее дешевый план, поэтому он и выбирается. Попробуйте пересчитать статистики с фулл сканом, может полегчает. не факт что пересборка статистики поможет, да и нельзя ее часто делать. Таблицы многомиллионные (более 10 нулей строк) Сегодня оптимизатор решил так, завтра по другому. Тут другая задача: наплевать на оптимизатор и сделать так как хочет хуман. За сим и вопрошаю о помощи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:32 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanВладислав Колосовkapelan, не работает, такого нет синтаксиса. Придётся представления править, если хотите. На самом деле Вы получаете с "плохим" индексом наиболее дешевый план, поэтому он и выбирается. Попробуйте пересчитать статистики с фулл сканом, может полегчает. не факт что пересборка статистики поможет, да и нельзя ее часто делать. Таблицы многомиллионные (более 10 нулей строк) Сегодня оптимизатор решил так, завтра по другому. Тут другая задача: наплевать на оптимизатор и сделать так как хочет хуман. За сим и вопрошаю о помощи Сильно сомневаюсь, что вы считаете более правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:36 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
TaPaK, Правильным я считаю делать так как написано в доке: а в доке прописано что хинты должны выполнятся оптимизатором. Также я в курсе что индексные хинты никогда не работали на вью. Но почему-то в последней версии они не бросают ехсепшина, отсюда вывод: - что-то пофиксили и они должны работать коректно но как показал тест - "в лоб" не работают. За сим и данный топик: если кто сумел победить эту проблему, хотелось бы знаь как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:46 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelan, где написано ваше мифическое "что хинты должны выполнятся оптимизатором." https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:48 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
TaPaKkapelan, где написано ваше мифическое "что хинты должны выполнятся оптимизатором." https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-2017 в первой строке: Table hints override the default behavior of the query optimizer в этом собственно и смысл хинтов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:50 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelan, авторТакже я в курсе что индексные хинты никогда не работали на вью. прекрасно работают при наличии NOEXPAND ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:51 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanTaPaKkapelan, где написано ваше мифическое "что хинты должны выполнятся оптимизатором." https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-2017 в первой строке: Table hints override the default behavior of the query optimizer в этом собственно и смысл хинтов любитель любоваться на новые врата? должны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:52 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
TaPaKkapelan, авторТакже я в курсе что индексные хинты никогда не работали на вью. прекрасно работают при наличии NOEXPAND тестовый код в первом посте, попробуйте NOEXPAND. Вам рекомендация, прежде чем советовать с уверенностью знатока - почитать доку или протестировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 18:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39793222&tid=1688023]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 271ms |
| total: | 471ms |

| 0 / 0 |
