powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SORT ORDER BY & COUNT STOPKEY
25 сообщений из 60, страница 1 из 3
SORT ORDER BY & COUNT STOPKEY
    #39246307
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть мнение, что первые 5000 строк результатов этих запросов не обязательно эквивалентны:
1:
Код: sql
1.
2.
3.
select *
	from all_objects
	order by object_name, object_type, owner, /*whatewer*/)

2:
Код: sql
1.
2.
3.
4.
5.
6.
select *
	from (
		select *
			from all_objects
			order by object_name, object_type, owner, /*whatewer*/)
	where rownum <= 5000


А вы что думаете?
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246351
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--А вы что думаете?Я думаю что если между выполнениями ты сделаешь alter session set nls_sort то сможешь для себя открыть дивный новый мир.
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246356
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop,

не не не, при прочих равных .
просто пацанчики на районе слух пустили, что COUNT STOPKEY может произойти до SORT ORDER BY.
если честно, я в это не верю. но всё-таки
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246357
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
--Eugene--,

Бред
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246361
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще варианты, пожалуйста
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246366
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--еще варианты
а документация по select... order by чем не угодила ?
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246371
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй,

разве оттуда можно явно узнать ответ на мой вопрос?
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246376
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--dbms_photoshop,

не не не, при прочих равных .
просто пацанчики на районе слух пустили, что COUNT STOPKEY может произойти до SORT ORDER BY.
если честно, я в это не верю. но всё-такиа тест в подтверждение не прислали?
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246378
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

who needs tests, when there is a theory? ©
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246389
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--who needs tests, when there is a theory?
Ставлю на то, что эти теоретики поставили в условие rownum из внутреннего запроса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246394
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--еще варианты, пожалуйстаПри недетерминированной сортировке и side effects можно добиться разных результатов.
Под недетерминированной сортировкой понимается тот случай когда более одной строки с одинаковыми object_name, object_type, owner.
Например, секционированная таблица.
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246453
Теоретик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--Есть мнение, что первые 5000 строк результатов этих запросов не обязательно эквивалентны:
1:
Код: sql
1.
2.
3.
select *
	from all_objects
	order by object_name, object_type, owner, /*whatewer*/)

2:
Код: sql
1.
2.
3.
4.
5.
6.
select *
	from (
		select *
			from all_objects
			order by object_name, object_type, owner, /*whatewer*/)
	where rownum <= 5000


А вы что думаете?
Я думаю, что оба запроса нерабочие и возвращают одну и туже ошибку :-)
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246466
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теоретик,

это все понимают и вежливо делают вид, что не заметили
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246492
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо, а правильно ли будет переместить ORDER BY таким образом? :
1
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
with w as (
	select *
		from all_users
),
x as (
	select *
		from all_objects
),
y as (
	select x.object_name, x.object_type, x.owner,
			w.created
			/*, и другие колонки*/
		from w
			left join x
				on x.owner = w.username
			/* и куча других джоинов */),
z as ()
	select *
		from y
		order by case when :a = :b then y.created else null end
			/*, и прочие выражения, зависящие не (или не только) от y*/
)
select *
	from z
	where rownum <= 5000;

2
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
with w as (
	select *
		from all_users
		order by case when :a = :b then created else null end
),
x as (
	select *
		from all_objects
),
y as (
	select x.object_name, x.object_type, x.owner,
			w.created
			/*, и другие колонки*/
		from w
			left join x
				on x.owner = w.username
			/* и куча других джоинов */),
z as (
	select *
		from y
		order /*прочие выражения, зависящие не (или не только) от y*/
)
select *
	from z
	where rownum <= 5000;


Идея в том чтобы сделать сортировку по ALL_USERS.CREATED быстрее.
Или же сортировка во вложенных подзапросах не гарантируется, если это не TOP-N ?
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246494
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно же, камент должен быть такой:
Код: plsql
1.
2.
3.
...
/*, и прочие выражения, зависящие не (или не только) от w*/
...
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246498
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
--Eugene--,

В варианте 2 может исчезнуть сортировка по created. Читай про order by elimination
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246500
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
--Eugene--,

То есть даже order by elimination не при чем, просто если вторая сортировка не включает created первым, то тупо сортировка первая бесполезна
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246544
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderБред

Ну теорeтически не такой уж бред если результат inline view будет мaтериaлизирован и зaтем считан параллельно. Можно ли "убедить" оптимайзер на такой плaн это уже другой вопрос. Лично я в принципе не использую inline view с order by а предпочитаю аналитику.

SY.
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246574
xtender-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY,

Я говорил про авторпросто пацанчики на районе слух пустили, что COUNT STOPKEY может произойти до SORT ORDER BY.
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246629
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYесли результат inline view будет мaтериaлизирован и зaтем считан параллельно..не думаю, что у нас есть такая цель..
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246630
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderесли вторая сортировка не включает created первым, то тупо сортировка первая бесполезнатогда какой смысл в SORT ORDER BY по CREATED на вью в плане?
И тут даже не о смысле речь, а о самом факте его наличия.
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39246635
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
--Eugene--тогда какой смысл в SORT ORDER BY по CREATED на вью в плане? CBO умеет его убирать , но не всегда (имхо существенно реже в последних версиях, в связи с многочисленными багами)
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39247281
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вобщем, у меня следующая проблема
есть запрос, который возвращает очень много строк (но следует учесть, что фетчатся из них только первые N, небольшое фиксированное число)
в этом запросе используется партиционированная таблица
и сортировка (в которой, собственно, фигурирует только та самая таблица), которая губит всю прелесть пертишенинга, поскольку из-за нетривиальности выражений сортировки (наличие CASE WHEN .. THEN NULL и проч) просматриваются все партиции вместо парочки тех, которые бы как раз дали те самые N строк..

что посоветуете?
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39247285
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--просматриваются все партиции вместо парочки тех, которые бы как раз дали те самые N строк..
Код: plsql
1.
SELECT * FROM sales PARTITION (nov98) 
...
Рейтинг: 0 / 0
SORT ORDER BY & COUNT STOPKEY
    #39247287
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--...

что посоветуете?
попить водички, подышать свежим воздухом и перестать использовать слова, смысла которых Вы не понимаете,
даже если те слова чудятся вам совершенно "красивыми".
...
Рейтинг: 0 / 0
25 сообщений из 60, страница 1 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SORT ORDER BY & COUNT STOPKEY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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