Этот баннер — требование Роскомнадзора для исполнения 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 |
|
||
|
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 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
alexeyvg, почему нельзя? все можно писать, синтаксис собственно одинаковый. Разница в плане выполнения или в оптимизаторе: - в оракле он работает так как указано в доке, а именно: следовать хинтам если они валидные, скобки являются такой-же директивой как и хинт - в майкрософте - оптимизатор иногда работает так как ему хочется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 21:55 |
|
||
|
index hints on view
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, в оракле курсоры это основа любого запроса. Работает просто как топор: я хочу выбрать 1000 строк из таблицы. движок тупо достает записи с диска по одной, прервать можно в любой момент. в микрософте я не понимаю почему курсоры так тормозят - логика в принципе должна быть такая-же. Видимо движок лочит все строки и возвращает все в память а уже с памяти возвращает на клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 22:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1688023]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 275ms |
| total: | 550ms |

| 0 / 0 |
