powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / обязательно писать ORDER BY ?
44 сообщений из 44, показаны все 2 страниц
обязательно писать ORDER BY ?
    #39628946
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если есть кластеризованный индекс

вот в сиквел сервере обязательно
интересно как в оракле
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39628948
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не нужна гарантированная упорядоченность - не пиши.

http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39628952
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicНе нужна гарантированная упорядоченность - не пиши.

http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
нужна именно гарантированная сортировка по полю по которому есть кластеризованный индекс
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39628955
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

В Оракле нет кластеризованных индексов.
Нет filtered indexes.
Нет indexes with included columns.
Да почти ничего нет.

Не стоит использовать эту СУБД.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39628956
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,
wiki order by...
ORDER BY is the only way to sort the rows in the result set. Without this clause, the relational database system may return the rows in any order.
...


google translate...
ORDER BY - единственный способ сортировки строк в наборе результатов. Без этого предложения система реляционной базы данных может возвращать строки в любом порядке.
...
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39628958
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopВ Оракле нет кластеризованных индексов.cluster_index_clause ::=
Код: plaintext
CLUSTER [ schema. ] cluster index_attributes
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39628964
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

Ты же понимаешь что это вообще разные вещи.
Аналогом кластеризованного индекса является IOT.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39628984
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewесли есть кластеризованный индекс

вот в сиквел сервере обязательно
интересно как в оракле 21330740
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629000
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

Какой тебе интерес читать эти бредни?

Придает уверенности, что если уж такие дятлы сидят в офисе и кто-то им платит, то ты точно не пропадешь?
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629006
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopandreymx,

Какой тебе интерес читать эти бредни?

Придает уверенности, что если уж такие дятлы сидят в офисе и кто-то им платит, то ты точно не пропадешь?
главное не форма, а содержание
тем более форум для этого и придуман
свое мнение оставьте при себе ибо бредни вы сами развиваете так как не по сабжу

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

О содержании и речь.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629030
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,
в ms sql хуже с аналит ф-циями чем в оракля?

.....
stax
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629146
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

уже почти догнали 11g по ним
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629154
mnbvcx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
listtoview, из соображений здравого смысла делать сортировку на клиенте.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629263
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envStax,

уже почти догнали 11g по ним
в версии 2017 даже появился аналог listagg
не аналитика, но без него тяжело по некоторым задачам
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629295
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx, env

спасибо

а то я смотрю, относительно простая задачка, а стоко мороки

.....
stax
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629850
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

меня пока волнует другая хрень
которую я пока мало понимаю - да еще мешает оракловый опыт


Код: plsql
1.
create table test(id int)



Код: plsql
1.
2.
3.
4.
5.
6.
В Oracle:
В одной сессии делаем
Insert into test values(1)  (без коммита)

В другой сессии
select * from test -– работает (при этом, естественно, ничего не возвращает)




Код: sql
1.
2.
3.
4.
5.
6.
7.
В MSSQL:
В одной сессии делаем
Begin transaction
Insert into test values(1) 

В другой сессии
select * from test -– запрос висит, пока в первой сессии не сделан коммит/роллбек
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629887
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxмешает оракловый опытС mssql2005 появился уровень изоляции snapshot.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629895
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxStax,

меня пока волнует другая хрень
которую я пока мало понимаю - да еще мешает оракловый опыт


Код: plsql
1.
create table test(id int)



Код: plsql
1.
2.
3.
4.
5.
6.
В Oracle:
В одной сессии делаем
Insert into test values(1)  (без коммита)

В другой сессии
select * from test -– работает (при этом, естественно, ничего не возвращает)




Код: sql
1.
2.
3.
4.
5.
6.
7.
В MSSQL:
В одной сессии делаем
Begin transaction
Insert into test values(1) 

В другой сессии
select * from test -– запрос висит, пока в первой сессии не сделан коммит/роллбек


либо я чего то не понимаю
либо батенька не слышал про уровни изоляций
это раз

плюс на сессии пох в сиквеле, хоть одна, хоть 10
главное шо разные транзакции
в вашем случае вторая неявная
это два
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629928
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-andreymxмешает оракловый опытС mssql2005 появился уровень изоляции snapshot.какие подводные камни есть?
БД будет новая и под web-апликухи
т.е. транзакции в принципе будут короткими
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629941
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxмешает оракловый опытПочему бы вам не свалить в какое-нибудь более подходящее место?
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629946
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx-2-пропущено...
С mssql2005 появился уровень изоляции snapshot.какие подводные камни есть?tempdb. Если натягивать опыт плавания в оракле на заплыв в mssql, то всё будет подводными камнями.
Для коротких транзакций берите postgresql. Там для ораклистов одна проблема - нет коммита на сервере. Ну и vacuum...
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629948
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-andreymxмешает оракловый опытС mssql2005 появился уровень изоляции snapshot.Вспомнилось троллинга ради 19937276
andrey_anonymousdbms_photoshopУровни изоляции - критически важное базовое понятие, кооторое должен знать каждый разработчки БД.
А вот возьму и не соглашусь :)
Важное - да.
Критически - нет.
Мне вот до сих пор не доводилось в пром. решениях видеть применение уровней изоляции, отличных от RC - видимо, просто не повезло.
И большинство разрабов прекрасно с этим живут, а ежели вдруг возникнет реальная потребность в serializable или даже в RO - то сеньор подскажет.
Потом такие некритические архитекторы дизайнерят "универсальные" системы, которые работают "иногда".

Бегло ознакомившийся с уровнями изоляции и имеющий немного здравого смысла может сделать что-то более стоящее. Но внезапно потом опять могут полезть косяки ибо
https://technet.microsoft.com/en-us/library/ms189050(v=sql.105).aspx The tempdb database must have enough space for the version store. When tempdb is full, update operations will stop generating versions and continue to succeed, but read operations might fail because a particular row version that is needed no longer exists. Упс.

Когда изначально архитектура блокировочника, костылём из него полноценный версионник не сделать.

Потом, если когда-то наступит время ознакомиться с тем как MSSQL хранит данные можно узнать про Sparse Columns,
которые тоже не что иное как кривой костыль для того чтоб адресовать изначально убогий подход для хранения nulls и variable lengths columns.

Иногда спрашивающие про великолемные фичи MSSQL просто не осознают, что это на самом деле костыли и ожидать их в изначально грамотно спроектированной СУБД не стоит.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629959
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxкакие подводные камни есть?Самая идиотская фича, на мой взгляд, это вложенные транзакции.
Например, ты реализовал логику в хранимке в конце которой коммит, НО если транзакцию начал клиент, то ему пофиг на твой коммит и он его может элементарно откатить.

Или оставшиеся изменения после exception - 10183567 .

Так что уровней изоляции еще надо осознать альтернативно одаренное управление транзакциями и обработку исключений.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39629997
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx-2-пропущено...
С mssql2005 появился уровень изоляции snapshot.какие подводные камни есть?
БД будет новая и под web-апликухи
т.е. транзакции в принципе будут короткими
апдейт конфликт
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630000
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewапдейт конфликта что конкретно имеется в виду?
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630004
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopИли оставшиеся изменения после exception - 10183567 .



имхо (с моей точки зрения)

ето скорее ораклячая фича (возможно документированная), чем нормальное поведение

если напр в вызывающем есть exception when ... то изменения "остаются "

.....
stax
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630030
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot dbms_photoshop]-2-пропущено...Вспомнилось троллинга ради 19937276
andrey_anonymousпропущено...
Важное - да.
Критически - нет.

Потом такие некритические архитекторы дизайнерят "универсальные" системы, которые работают "иногда".
Прошу уважаемого dbms_photoshop пояснить, как тезис, действительный в контексте oracle rdbms и никогда не обобщавшийся автором на прочие платформы переехал в <оффтопичный тут> контекст MSSQL и каким образом этот переезд перетек в обобщение "такие некритичные универсальные".
...островитяне - они такие... островитяне... :)
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630039
mnbvcx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОФФТОП
andreymx
Код: sql
1.
2.
3.
4.
5.
6.
7.
В MSSQL:
В одной сессии делаем
Begin transaction
Insert into test values(1) 

В другой сессии
select * from test -– запрос висит, пока в первой сессии не сделан коммит/роллбек


Так и должно быть.
У тебя стоит уровень изоляции READ COMMITED – это уровень изоляции по умолчанию при установлении нового соединения.
Тута ( https://www.intuit.ru/studies/courses/1079/264/lecture/6729?page=3) написано об этом:

А сейчас вернемся к окну запроса 1 и снова попробуем выполнить чтение данных.
SELECT FirstName, LastName, EmailAddress
FROM Person.Contact
WHERE ContactID = 1;
Запрос не завершается, поскольку инструкция SELECT заблокирована. SQL Server пытается получить разделяемую блокировку на ключ столбца ContactID 1, но это невозможно, ведь транзакция UPDATE в окне запроса Query Window 2 владеет монопольной блокировкой на этот ключ. Хотя окно запроса Query Windows 2 находится в режиме READ COMMITED (поскольку мы не изменяли уровень по умолчанию), монопольная блокировка все еще не снята. Эта блокировка существует потому, что монопольные блокировки для изменений данных всегда удерживаются до окончания транзакции.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630047
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mnbvcxТак и должно быть.


А вот oracle (и слава богу) думает
иначе. Сессия 1:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SQL> create table test(id int);

Table created.

SQL> set transaction isolation level read committed;

Transaction set.

SQL> Insert into test values(1);

1 row created.

SQL> 



Сессия 2:

Код: plsql
1.
2.
3.
4.
5.
SQL> select * from test;

no rows selected

SQL> 



SY.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630052
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mnbvcx,

Суть в том что oracle не блокирует select а лeзет в undo а вот mssql таки да. И кроме того сам select в mssql ставит row shared lock.

SY.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630056
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

Концепт критически важный безотносительно используемой СУБД. Точка.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630062
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopКонцепт критически важный безотносительно
Важный. Но по-прежнему не критически важный в отдельно взятом контексте oracle rdbms.
Period.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630072
mnbvcx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY
А вот oracle (и слава богу) думает
иначе...

Такая жизнь.
Postgre тоже вернёт несуществующие данные в этом случае.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630078
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

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

Если у кого-то опыт ограничивается Ораклом и при этом работая с Ораклом люди понимают почему за него была уплачена тонна денег и какие у него преимущества - это замечательно.

У меня в колхозе ситуация несколько иная.
Соответственно что кому критично и важно каждый пусть решает персонально.
Но все равно я никогда не возьму на должность разработчика СУБД человека, если он не понимает уровни изоляции.

Кстати, все еще печальнее когда CTO нихрена не понимает ни про транзакции ни про concurrency.
У островитян эти случаи наверное еще чаще чем в России, если IT это не основной бизнес, а сопровождающее подразделение.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630089
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mnbvcxТакая жизнь.
Postgre тоже вернёт несуществующие данные в этом случае.

Не знаю что-там Postgre, но oracle не вернет несуществующие данные:

Oracle Database never permits dirty reads, which occur when a transaction reads uncommitted data in another transaction.

SY.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630588
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYmnbvcxТакая жизнь.
Postgre тоже вернёт несуществующие данные в этом случае.

Не знаю что-там Postgre, но oracle не вернет несуществующие данные:

Oracle Database never permits dirty reads, which occur when a transaction reads uncommitted data in another transaction.

SY.
зато в оракле нельзя запретить читать "изменяющиеся" данные

как наложить блокировку на чтение?

.....
ыефч
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630593
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxзапретить читать "изменяющиеся" данныеНеявная блокировка "прочитанных данных" может привести к непредсказуемым результатам в зависимости от плана выполнения. А явную блокировку оракл предлагает.
Корректнее обсуждать возможность блокировки условий фильтрации. Что тоже реализуемо в оракле через plsql.
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630623
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxSYпропущено...


Не знаю что-там Postgre, но oracle не вернет несуществующие данные:

Oracle Database never permits dirty reads, which occur when a transaction reads uncommitted data in another transaction.

SY.
зато в оракле нельзя запретить читать "изменяющиеся" данные

как наложить блокировку на чтение?

.....
ыефча для каких целей?
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630632
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxStaxпропущено...

зато в оракле нельзя запретить читать "изменяющиеся" данные

как наложить блокировку на чтение?

.....
ыефча для каких целей?

напр во веремя открытие/закрытие дня/месяца, расчета процентов, зп, и тд

.....
stax
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630649
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxandreymxпропущено...
а для каких целей?

напр во веремя открытие/закрытие дня/месяца, расчета процентов, зп, и тд

.....
staxпо-моему, эта задача должна решаться совершенно другими методами
таблица закрытых-открытых периодов, триггер на апдейт-делит (или что-то более современное)
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630652
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxStaxпропущено...


напр во веремя открытие/закрытие дня/месяца, расчета процентов, зп, и тд

.....
staxпо-моему, эта задача должна решаться совершенно другими методами
таблица закрытых-открытых периодов, триггер на апдейт-делит (или что-то более современное)сорри, ступил, триггер тут не поможет
Может, RLS?
У нас это решается стандартным ограничением на формах и отчетах
Если период не готов, то его нельзя выбрать
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630663
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxandreymxпропущено...
по-моему, эта задача должна решаться совершенно другими методами
таблица закрытых-открытых периодов, триггер на апдейт-делит (или что-то более современное)сорри, ступил, триггер тут не поможет
Может, RLS?
У нас это решается стандартным ограничением на формах и отчетах
Если период не готов, то его нельзя выбрать

так и решается (меню и тд), но не все примочки ето учитывают

RLS использовал раз, и то сдуру (не было опыта) на таблицах

.....
stax
...
Рейтинг: 0 / 0
обязательно писать ORDER BY ?
    #39630703
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxandreymxпропущено...
сорри, ступил, триггер тут не поможет
Может, RLS?
У нас это решается стандартным ограничением на формах и отчетах
Если период не готов, то его нельзя выбрать

так и решается (меню и тд), но не все примочки ето учитывают

RLS использовал раз, и то сдуру (не было опыта) на таблицах

.....
staxмы вместо rls используем вьюхи
уже 10 лет
полёт нормальный
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / обязательно писать ORDER BY ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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