Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanTaPaKkapelan, пропущено... прекрасно работают при наличии NOEXPAND тестовый код в первом посте, попробуйте NOEXPAND. Вам рекомендация, прежде чем советовать с уверенностью знатока - почитать доку или протестировать ну так узнайте для чего нужен и применяется NOEXPAND ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 19:00 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
TaPaKkapelanпропущено... тестовый код в первом посте, попробуйте NOEXPAND. Вам рекомендация, прежде чем советовать с уверенностью знатока - почитать доку или протестировать ну так узнайте для чего нужен и применяется NOEXPAND я Вас уже 4 раза в доку носом тыкал, изучайте пожалуйста самостоятельно. По существу , есть рекомендации? например как у Владислав Колосов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 19:43 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Модератор: Будете сраться -- придет лесник и всех разгонит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 19:48 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanПравильнее модифицировать проблемный запрос.Проблемный запрос можно можно модифицировать _не только_ хинтами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 19:53 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanTaPaKпропущено... ну так узнайте для чего нужен и применяется NOEXPAND я Вас уже 4 раза в доку носом тыкал, изучайте пожалуйста самостоятельно. По существу , есть рекомендации? например как у Владислав Колосов По существу: не любителю новых врат, ясно что пробросить какой-то индекс внутрь представления нельзя ввиду того что engine не знает к какому объекту применять ваш чудо хинт. Но вы можете и дальше фантазировать на предмет нового синтаксиса от Владислава, пробуйте добавить хинт "pogaluysta" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 19:54 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовВот кабы синтаксис был бы with (index (table1.ix1)), но тогда это был бы дедушка, а не бабушка.А теперь представим, что table1 во всех представлениях упоминается более одного раза, а хинт приляпать надо в одном месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 19:57 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичkapelanПравильнее модифицировать проблемный запрос.Проблемный запрос можно можно модифицировать _не только_ хинтами. ткните носом пожалуйста - тестовый код в первом посте Исходные данные: на таблице в 100000000000 записей куча индексов оптимизатор пользует индекс по своему усмотрению Задача заставить оптимизатор выбрать нужный индекс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 19:59 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanГавриленко Сергей Алексеевичпропущено... Проблемный запрос можно можно модифицировать _не только_ хинтами. ткните носом пожалуйста - тестовый код в первом посте Исходные данные: на таблице в 100000000000 записей куча индексов оптимизатор пользует индекс по своему усмотрению Задача заставить оптимизатор выбрать нужный индекс По какому хотите индексу: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 20:11 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanЗадача заставить оптимизатор выбрать нужный индексЭто не задача, это придуманое вами решение проблемы "запрос тормозит, потому что оптимизатор выбирает не тот индекс". Задача, наверное, чтобы выбрать данные за разумное время, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 20:16 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, к сожалению на первом шаге все-равно пользуется индех1. Представим себе табицу employee , таблице пол и год рождения. В запросе есть фильтр по полу и году рождения. Оптимизатор выбирает индекс по полу Задача выкинуть из мыслей этот индекс. Собственно пока у меня одна идея - убить этот индекс. другого решения не вижу. В этом случае прийдется копать весь остальной код на предмет кто-еще может пользовать индекс по полу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 20:22 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelan Представим себе табицу employee , таблице пол и год рождения. В запросе есть фильтр по полу и году рождения. Оптимизатор выбирает индекс по полу Да хоть так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Или через промежуточную таблицу с последовательным применением сначала более селективного условия, а потом доп фильтрацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 20:32 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, все равно лезет на индех1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 20:39 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, промежуточную таблицу - да возможное решение. но ... как-бы большой кровью достигается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 20:42 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanпромежуточную таблицу - да возможное решение. но ... как-бы большой кровью достигаетсяЧто делать, если заточили всю архитектуру на вьюхи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 21:32 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
alexeyvg, угу :( когда-то встречал "программиста" который всякий раз создавал вью если в джойне более 3-х таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 22:01 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanalexeyvg, угу :( когда-то встречал "программиста" который всякий раз создавал вью если в джойне более 3-х таблиц Так не делал, но норм. Возьму "на карандашик". По существу: а что мешает решить через WITH CTE (с минимизацией либо объёма первичной выборки либо затрат на первичную выборку)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2019, 23:20 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanГавриленко Сергей Алексеевич, все равно лезет на индех1У меня лезет в разные. Но вы скрытный, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 01:27 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
TaPaKkapelanShakill, потомушта оптимизатор обязан выполнять хинты если они валидные. вы наверное не знаете, но sql декларативный язык и тут никто никому не обязан А шо, императивный бы достал i оттуда, хде ее нету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 05:39 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
aleks222TaPaKпропущено... вы наверное не знаете, но sql декларативный язык и тут никто никому не обязан А шо, императивный бы достал i оттуда, хде ее нету? Попробуй на таблице, удивишься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 09:38 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_kapelanalexeyvg, угу :( когда-то встречал "программиста" который всякий раз создавал вью если в джойне более 3-х таблиц Так не делал, но норм. Возьму "на карандашик". По существу: а что мешает решить через WITH CTE (с минимизацией либо объёма первичной выборки либо затрат на первичную выборку)? CTE не всегда работает так как думается. Это оракл делает то что в доке написано, как видим MSSQL спокойно плюет на свою доку. Оракл обязан выполнить то что в скобках а затем внешний запрос и всегда делает так ... как и всегда следует хинтам. MSSQL оптимизатор не факт что выполнит СТЕ а потом пойдет дальше - там свои мозги, так-же с хинтами в СТЕ не все так просто. временные таблицы работают гораздо понятнее - они тупо ограничивают оптимизатор одним запросом. Гавриленко Сергей Алексеевич сразу предложил решение с ними. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 15:59 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Хинта не использовать в запросе индекс нет. Есть отключение индекса но это не то. Вариант только переписывать запрос заведомо передавая ему инфу через например временную таблицу всего того что вы считаете селективным условием. Алексей Гавриленко уже этот вариант предложил. Других вариантов нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 17:06 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelanОракл обязан выполнить то что в скобках а затем внешний запрос и всегда делает такЕсли в скобках запрос, а снаружи условия, то он реально считает в память всё содержимое таблиц, а потом уже наложит условия? Это же жесть. Значит, CTE в Оракле и в MSSQL принципиально разные. kapelanMSSQL оптимизатор не факт что выполнит СТЕ а потом пойдет дальшеНе то, что "не факт", а он гарантированно так не сделает. В MSSQL СТЕ - это просто альтернитивная форма записи подзапроса. Оракл вообще какой то странный, игнорирует функциональную сущность SQL начисто :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 18:02 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
alexeyvg, 1. Если в скобках запрос, а снаружи условия, то он реально считает в память всё содержимое таблиц, а потом уже наложит условия? - нет не жесть это так должно быть. Пример: 6+(2*3)= 12; (6+2)*3 = 18; В зависимости какой результат мне нужен - там скобки и ставлю. у оптимизатора выбора быть не должно - так как хуман приказал. Не нравится запросы в скобках? - не пишите так 2. Значит, CTE в Оракле и в MSSQL принципиально разные. - разные как видим В MSSQL СТЕ - это просто альтернитивная форма записи подзапроса - true 3. Оракл вообще какой то странный, игнорирует функциональную сущность SQL начисто :-) - нет он действует строго по директиве, а хуман сказал делать то что скобках в первую очередь значит так тому и быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 18:23 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelan, по моим наблюдениям в Оракле SQL - это синтаксически сахар над процедурным PL ядром. Т.е. там SQL открыт и программист может в план встраивать всякую лабуду своего кода. Поэтому там эффективно работают курсоры. Они не эмулируются, но являются частью кода выполнения плана запроса. Но такая ненативность рождает другие проблемы, например, сложное описание типов или сложности в выводе датасетов клиенту из процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 23:08 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
kapelan1. Если в скобках запрос, а снаружи условия, то он реально считает в память всё содержимое таблиц, а потом уже наложит условия? - нет не жесть это так должно быть. Пример: 6+(2*3)= 12; (6+2)*3 = 18;Нет-нет, результат-то должен быть одинаковый, это само собой. Но вот в следующем примере результат для сиквела и оракла будет одинаковый, но в оракле, получается, так писать нельзя, нужно явно задать способ получения результата, а не "формулу": Код: sql 1. 2. 3. 4. 5. kapelan3. Оракл вообще какой то странный, игнорирует функциональную сущность SQL начисто :-) - нет он действует строго по директиве, а хуман сказал делать то что скобках в первую очередь значит так тому и быть.- Он не функциональный! - Нет, да! Это обычно называют "императивный", а не "директивный". Я не считаю это недостатком Оракла (может, он даже лучше как СУБД), просто надо понимать, что он совсем другой, это не просто другой язык, и другое администрирование, а совсем другие принципы. С Кобола или Джавы несравнимо легче перейти на Оракл, чем на MSSQL. Я знал про всякие "триггеры на строку", массовое использование курсоров и т.д., но не представлял, что в CTE может быть такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2019, 10:40 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39793314&tid=1688023]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
127ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 469ms |

| 0 / 0 |
