powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выбрать первые 3 позиции в группировке
10 сообщений из 35, страница 2 из 2
Выбрать первые 3 позиции в группировке
    #39454777
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopstax..вот я про третий и спрашиваю, как он выглядит?Я надеюсь ты просколлил до моего следующего ответа и увидел, что я имел в виду совершенно иные запросы.
для меня сложно, все от так сразу понять/осознать

я о запросе
из 10записей топ 3 по какому то критерию, из миллионника для каждого из троих 100 первых

зы
12 нет, и возможно и не предвидется
но мне нравится lateral и я б его исполизол частенько,
для меня так более наглядно кто, с кем и зачем

.....
stax
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39454905
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbms_photoshopЯ подразумеваю, что речь идет про CBO и использую терминологию из
http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-general-query-optimization-10gr-130948.pdf Oracle has implemented a wide range of SQL transformations. These broadly
fall into two categories:
heuristic query transformations : These transformations are applied to
incoming SQL statements whenever possible. These transformations
always provide equivalent or better query performance, so that Oracle
knows that applying these transformations will not degrade performance.
cost-based query transformations : Oracle uses a cost-based approach for
several classes of query transformations. Using this approach, the
transformed query is compared to the original query, and Oracle’s
optimizer then selects the best execution strategyЕще раз подчеркну, что не всегда возможно применить эвристическую трансформацию и получить эквивалентный запрос - это именно то, что я пытался сказать.там как всегда слишком упрощенно. В качестве примера подумай о use_concat - это эвристическая трансформация и зачастую она не применяется без форсирования хинтом.
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39454909
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbms_photoshopЕсть подозрение, что нужного эффекта можно было бы добиться если создать дополнительную inline view и в ней соединять с view2, а снаружи с view3.сейчас некогда (да и лениво) пытаться воспроизвести, но такое не прокатывало, да и было неприменимо, т.к. запрос клеился динамически - к основе в зависимости от условий добавлялись дополнительные столбцы/таблички/вьюхи
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39454910
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
постараюсь не забыть запостить сюда пример, когда встречу такое в следующий раз
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39454911
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
а вообще это очень частая вещь, странно что ты ее не встречал еще
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39455033
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtender,

Согласно white paper, or-expansion - cost based, но он не ведет себя как cost based всегда. Я когда-то об этом писал уже.
В любом случае, это имеет очень отдаленное отношение к тому, с чего началась дискуссия.

Диалог был бы конструктивнее, если бы ты пытался понять что я говорю вместо того, чтобы делать какие-то предположения о том, чего я не заявлял и "открывать мне глаза".

Если я тебя задел этим
dbms_photoshopнормальный разработчик не будет писать
Код: plsql
1.
2.
3.
4.
select *
from t1
, lateral (select * from t2 where t1.id = t2.id)(+)
 


вместо
Код: plsql
1.
2.
3.
4.
select *
from t1
, t2 where t1.id = t2.id(+)
 

я, конечно, приношу извинения, но я крайне сомневаюсь, что ты всегда напишешь lateral вместо обычного соединения.
В качесве workaround, допускаю.

Последнее, я надеюсь, ты согласен, что при наличии stopkey в lateral он не может быть decorrelated по логическим причинам, а не в связи с критериями в текущей реализации.
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39455034
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderа вообще это очень частая вещь, странно что ты ее не встречал ещеЧастая вещь - "оптимизация проталкивания" путем использования lateral?
Да, признаюсь, я таким не занимался и постараюсь избежать подобных подходов в будущем.
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39455040
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbms_photoshop,

Ты как-то близко все к себе принимаешь, я вообще то всего лишь к слову упомянул, что латералы могут быть трансформированы в hj... Дальнейшие выпады были только от тебя...
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39455042
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbms_photoshopxtenderа вообще это очень частая вещь, странно что ты ее не встречал ещеЧастая вещь - "оптимизация проталкивания" путем использования lateral?
Да, признаюсь, я таким не занимался и постараюсь избежать подобных подходов в будущем.если непонятно, то я имел ввиду что зачастую предикаты не пушатся когда надо
...
Рейтинг: 0 / 0
Выбрать первые 3 позиции в группировке
    #39455047
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderты путаешь
xtenderподумай оЭто не мне было адресовано? Ок. Не буду занудствовать.
xtenderесли непонятно, то я имел ввиду что зачастую предикаты не пушатся когда надоВсе осталось несколько абстрактно, но я думаю ты опубликуешь пример при случае.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выбрать первые 3 позиции в группировке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]