powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Чем MS SQL Server хуже Oracle Database?
271 сообщений из 271, показаны все 11 страниц
Чем MS SQL Server хуже Oracle Database?
    #37713017
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро, всем!

У нас в компании скоро будет внедрятся учетная система. Она поддерживает несколько СУБД. Нам бы хотелось, чтобы это был MS SQL Server 2008R2 или даже 2012, так как он у нас закуплены лицензии мы подписаны по программе Software Assurance. Но внедренцы говорят, что лучше Oracle Database, так как это СУБД намного мощнее и функциональнее. Я никак не могу понять, в чем Oracle мощнее. Могли бы Вы мне привести убойные фичи Oracle, а то по чтению топиков этого форума, я не могу понять чем же он мощнее.
Спасибо.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713039
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если говорить в общем оракл самая фичастая субд среди всех,это правда. Вопрос в том, что у вас за приложение и под какую субд она писана, вернее какая субд для нее родная. Внедренцы вам могу советовать оракл, не потому что она лучше вообще, а потому, что например они еще партнеры оракла и кровно заинтерисованы вам продать этут систему. Так что не ведитесь.
Итого вам надо по-хорошему узнать у поставщиков, какая субд наиболее родная для вашей учетной системы.
Пусть поставщикиорганизуют вам референс визиты в организации, где уже стоит система на MSSQL, послушаете реальные отзывы.

Яркий пример- 1С. Она как-бы идет на разных субд, но родной для нее явлется MSSQL а не ORACLE/DB2/Postgre.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713096
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldесли говорить в общем оракл самая фичастая субд среди всех,это правда. Вопрос в том, что у вас за приложение и под какую субд она писана, вернее какая субд для нее родная. Внедренцы вам могу советовать оракл, не потому что она лучше вообще, а потому, что например они еще партнеры оракла и кровно заинтерисованы вам продать этут систему. Так что не ведитесь.
Итого вам надо по-хорошему узнать у поставщиков, какая субд наиболее родная для вашей учетной системы.
Пусть поставщикиорганизуют вам референс визиты в организации, где уже стоит система на MSSQL, послушаете реальные отзывы.

Яркий пример- 1С. Она как-бы идет на разных субд, но родной для нее явлется MSSQL а не ORACLE/DB2/Postgre.

Спасибо. А субъективно есть ли, что-то такое в Оракле убойное, что делает его флагманом. Вот например триггеры на уровне записи этого нет в MS. Использование этой штуки нужно когда необходимо изменять колонку PK, но согласитесь, наверное это не самый лучший стиль разработки. Что есть еще в Оракле?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713177
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12pt,
Может просто "тот продукт" под MS SQL толком не протестирован (не работает), а просто "заявлен" для красного словца?

Был у нас подобный случай - оказалось именно так.
То есть "в прайсе" продукт был, а в наличии - не было.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713299
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в оракле может быть много чего, ровно как и в мсскл. Оба эти сервера хороши. Но вопрос в том, кто и как затачивал приложение под субд и затачивал ли вообще? А про это вам не расскажут, как правило мультисубдшные приложения используют субд кошмарным извращенным образом.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713308
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше в ерп-разделе этого форума спросите, кто что думает про работу вашей системы на мсскл. Узнаете гораздо больше полезного чем здесь. Пока разговоро ниочем.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713309
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptу нас закуплены лицензии мы подписаны по программе Software Assurance

Этого вполне достаточно чтобы посылать внедренцев с их Оракулом в задницу. Они просто
хотят получить свои комиссионные за ваш счёт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713390
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭтого вполне достаточно чтобы посылать внедренцев с их Оракулом в задницу.
Не факт. Если система нужна (именно эта система) и не работает на MS SQL де факто... - то скорее это повод говорить о серьезной скидке.

Просто пишу - сталкивался. MS SQL был заявлен , но в дальнейшем компания отказалась нам продавать решение на нем. Ограничились скидкой. (К огромному сожалению)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713392
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovpt12ptу нас закуплены лицензии мы подписаны по программе Software Assurance

Этого вполне достаточно чтобы посылать внедренцев с их Оракулом в задницу. Они просто
хотят получить свои комиссионные за ваш счёт.


Вот например автономные транзакции, пакеты есть в Oracle. От них практический толк есть?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713413
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dvimне работает на MS SQL де факто...
....то на Оракуле под управлением MS SQL DBA она тоже де-факто не будет работать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713414
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dvim, если вы не с целью потроллить задете вопросы, озвучте что за система и люди вам дадут более вменяемы совет. Что толку с плюшек оракла, если прилада генерит кошмарные запросы через ORM и сервер пытается молотить данные курсорами.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713417
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptDimitry Sibiryakovпропущено...

Этого вполне достаточно чтобы посылать внедренцев с их Оракулом в задницу. Они просто
хотят получить свои комиссионные за ваш счёт.


Вот например автономные транзакции, пакеты есть в Oracle. От них практический толк есть?для разработки есть
но Вы разработкой собрались заниматься или обслуживанием готовой системы?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713834
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pt12ptСпасибо. А субъективно есть ли, что-то такое в Оракле убойное, что делает его флагманом.
https://sites.google.com/site/triffids/oraclevsyukon
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713901
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ggg_old Что толку с плюшек оракла, если прилада генерит кошмарные запросы через ORM и сервер пытается молотить данные курсорами.
как раз тут оракловые плюшки и вылазят в полный рост. оракловый дба имеет много больше инструментов бороться с такой ситуаций, например зафиксировать нужный план (Stored Outlines), нафигачить матвью или партитионинг применить, который много больше вариантов разбивки имеет на фоне мсскл. молотилка курсора опять же много быстрей под ораклом происходит, у мсскл известные проблемы с этим. настройка под дурной софт много в оракле наверняка будет много проще, т.к. возможности сгладить придурь проектировщиков больше. начиная от размеров блоков, заканчивая тонкой настройки пулов кеша под разные куски базы. там был вопрос нафига автономные транзакции, так вот и они очень пригодяться если к чужому софту нужно присобачить какое-то логирование, не вмешиваясь в транзакции софта. ну и оракловые resource governor и flash back queries сделают жизнь дба много проще, мсскл на сколько я знаю лишь в 2012 сделала первые робкие попытки сделать систему ограничения ресурсами
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37713994
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptОна поддерживает несколько СУБД. Но внедренцы говорят, что лучше Oracle Database
При всей любви к Ораклу две первые версии происходящего лично у меня:

1. Внедренцы надеются продать вам Оракл и поиметь с того какие-то плюшки
2. Внедренцы знают Оракл и не знают МС.

Впрочем, там, где Оракл лучше, компетентные внедренцы вне всякого сомнения смогут рассказать несколько сценариев, где на вашей конфигурации будет много лучше, и почему. Сугубо для примера, в системе, с которой я имел дело, внедренцы говорили: "когда данных становится порядка 5Гб, файрбёрд начинает дико тормозить, а на оракле всё нормально".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714093
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!Ggg_old Что толку с плюшек оракла, если прилада генерит кошмарные запросы через ORM и сервер пытается молотить данные курсорами.
как раз тут оракловые плюшки и вылазят в полный рост. оракловый дба имеет много больше инструментов бороться с такой ситуаций, например зафиксировать нужный план (Stored Outlines), нафигачить матвью или партитионинг применить, который много больше вариантов разбивки имеет на фоне мсскл. молотилка курсора опять же много быстрей под ораклом происходит, у мсскл известные проблемы с этим. настройка под дурной софт много в оракле наверняка будет много проще, т.к. возможности сгладить придурь проектировщиков больше. начиная от размеров блоков, заканчивая тонкой настройки пулов кеша под разные куски базы. там был вопрос нафига автономные транзакции, так вот и они очень пригодяться если к чужому софту нужно присобачить какое-то логирование, не вмешиваясь в транзакции софта. ну и оракловые resource governor и flash back queries сделают жизнь дба много проще, мсскл на сколько я знаю лишь в 2012 сделала первые робкие попытки сделать систему ограничения ресурсами

Скажите, а то что Оракл перенес свою разработку в Индию это не проблема? И то что продукты Оракла как-то неторопливо работают.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714109
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo, я за то. что придурь лучше минимизировать насколько это возможно, а потом, с оставшейся придурью - бороться. У ТС есть кникальная возможность сделать выбор, но он не отвечает на основные вопросы, что подозрительно.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714117
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldYo, я за то...

К сожалению, он многого не знает об MS SQL.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714199
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptСкажите, а то что Оракл перенес свою разработку в Индию это не проблема? И то что продукты Оракла как-то неторопливо работают.Первое чушь. По второму вопросу нужно прокладку менять. Ну и да - тема-холивар.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714241
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinpt12ptСкажите, а то что Оракл перенес свою разработку в Индию это не проблема? И то что продукты Оракла как-то неторопливо работают.Первое чушь. По второму вопросу нужно прокладку менять. Ну и да - тема-холивар.

Ну например Oracle HTTP Server или Web Cache без ящика водки и не поставишь. Так как Оракл забыл указать, что нужно менять конфиг (дизейблить ІPv6) иначе этот самый web Cache и не стартует. Как-то все оракловое очень запутанное и сложное, я не говорю конкретно про СУБД, но тендеция какая-то нехорошая.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714245
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinGgg_oldYo, я за то...

К сожалению, он многого не знает об MS SQL.

Почему же не знает его сравнение очень толковое. Сразу видно, что он разбирается в обеих СУБД
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714261
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptНу например Oracle HTTP Server или Web Cache без ящика водки и не поставишь.

Судя по тому, что на support.oracle.com я уже второй месяц стабильно наблюдаю
Код: plaintext
1.
2.
3.
Failure of server APACHE bridge:

No backend server available for connection: timed out after 10 seconds or idempotent set 
to OFF.
То аффтары этой поделки не пьют водку.

Забавно, что предыдущий экран - логина - красуется гордой надписью "Powered by Oracle
Access Manager 11g"...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714270
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pt12ptНу например Oracle HTTP Server или Web Cache без ящика водки и не поставишь. Так как Оракл забыл указать, что нужно менять конфиг (дизейблить ІPv6) иначе этот самый web Cache и не стартует. Как-то все оракловое очень запутанное и сложное, я не говорю конкретно про СУБД, но тендеция какая-то нехорошая.
простота как известно хуже воровства. яркий пример - slammer. в оракле такого масштабы бедствия исключены, тогда как инцинденты co slammer в банках и на ядерных объектах красноречиво показывают, что даже в серьезных учреждениях майкрософтские дба тыркают в кнопочки визарда не осознавая даже базовых вещей. а потом складываются целые континенты ...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714319
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!pt12ptНу например Oracle HTTP Server или Web Cache без ящика водки и не поставишь. Так как Оракл забыл указать, что нужно менять конфиг (дизейблить ІPv6) иначе этот самый web Cache и не стартует. Как-то все оракловое очень запутанное и сложное, я не говорю конкретно про СУБД, но тендеция какая-то нехорошая.
простота как известно хуже воровства. яркий пример - slammer. в оракле такого масштабы бедствия исключены, тогда как инцинденты co slammer в банках и на ядерных объектах красноречиво показывают, что даже в серьезных учреждениях майкрософтские дба тыркают в кнопочки визарда не осознавая даже базовых вещей. а потом складываются целые континенты ...

Наверное все же это раньше было. Если поставить в локальной сети SQL Server, а сеть защищить хорошим аппаратным межсетевым экраном , не иметь ничего на этом сервере кроме СУБД, не иметь шар и быть не в домене, не иметь NT-авторизацию и бездумно не раздавать привелегии, а также открыть только порт 1433 и только в локальной сети, то очень сложно придется вирусам и троянам. Зато ДБА тыкает мышкой и делает кучу базовых вещей интерактивно, в отличии от оракла ДБА, который вынужден например восстанавливать БД из RMAN в командной строке. Согласитесь как-то уж слишком, иметь язык для работы с данными (SQL), затем иметь отдельный язык для процедур (PL/ SQL), так еще и знать язык для восстановления/резервирования БД. В MS все просто, все делается в одном штатном средстве. В Оракле очень сложный порог вхождения, начиная с установки на Linux, так как на Windows по словам того же Yo он нормально не функционирует и заканчивая его настройкой с тысячей параметров.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714322
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!pt12ptНу например Oracle HTTP Server или Web Cache без ящика водки и не поставишь. Так как Оракл забыл указать, что нужно менять конфиг (дизейблить ІPv6) иначе этот самый web Cache и не стартует. Как-то все оракловое очень запутанное и сложное, я не говорю конкретно про СУБД, но тендеция какая-то нехорошая.
простота как известно хуже воровства. яркий пример - slammer. в оракле такого масштабы бедствия исключены, тогда как инцинденты co slammer в банках и на ядерных объектах красноречиво показывают, что даже в серьезных учреждениях майкрософтские дба тыркают в кнопочки визарда не осознавая даже базовых вещей. а потом складываются целые континенты ...

"а еще у вас негров линчуют!" (С)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714324
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptВ Оракле очень сложный порог вхождения, начиная с установки на Linux, так как на Windows по словам того же Yo он нормально не функционирует и заканчивая его настройкой с тысячей параметров.
Ну, на линух он ставится с пол-пинка, достаточно знать о специальном RPM
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714341
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockypt12ptВ Оракле очень сложный порог вхождения, начиная с установки на Linux, так как на Windows по словам того же Yo он нормально не функционирует и заканчивая его настройкой с тысячей параметров.
Ну, на линух он ставится с пол-пинка, достаточно знать о специальном RPM

oracle-validated вы наверное имеете ввиду? Но все равно нужно еще кучу всего прописать руками. Хотя вроде этот validated все сам и прописывает.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714345
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptlockyпропущено...

Ну, на линух он ставится с пол-пинка, достаточно знать о специальном RPM

oracle-validated вы наверное имеете ввиду? Но все равно нужно еще кучу всего прописать руками. Хотя вроде этот validated все сам и прописывает.
Ни разу ничего не прописывал руками. RPM, потом оракул.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714365
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pt12ptНаверное все же это раньше было. Если поставить в локальной сети SQL Server, а сеть защищить хорошим аппаратным межсетевым экраном , не иметь ничего на этом сервере кроме СУБД, не иметь шар и быть не в домене, не иметь NT-авторизацию и бездумно не раздавать привелегии, а также открыть только порт 1433 и только в локальной сети, то очень сложно придется вирусам и троянам. Зато ДБА тыкает мышкой и делает кучу базовых вещей интерактивно, в отличии от оракла ДБА, который вынужден например восстанавливать БД из RMAN в командной строке. Согласитесь как-то уж слишком, иметь язык для работы с данными (SQL), затем иметь отдельный язык для процедур (PL/ SQL), так еще и знать язык для восстановления/резервирования БД. В MS все просто, все делается в одном штатном средстве. В Оракле очень сложный порог вхождения, начиная с установки на Linux, так как на Windows по словам того же Yo он нормально не функционирует и заканчивая его настройкой с тысячей параметров.
бэкапы оракла можно настраивать через гуй точно так же как и в мсскл
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714374
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!бэкапы оракла можно настраивать через гуй точно так же как и в мсскл

Т.е. вот этот вот "недостаток MS SQL"

Yo.!майкрософтские дба тыркают в кнопочки визарда не осознавая даже базовых вещей.

за "недостаток" не считаем? :) Или, все-таки дело не в продукте, а в уровне DBA?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714379
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptПочему же не знает его сравнение очень толковое. Сразу видно, что он разбирается в обеих СУБД

Ага. Анекдот вспомнился:

Мужик на телеге въезжает в село: - Люди! Я уголь привез!
Вся в мыле, убитая в хлам лошадь оборачивается: - Ага, блин, ты привез!

ЗЫ. Да и версия MS SQL там 7ми летней давности.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714408
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptВ Оракле очень сложный порог вхожденияСчитаю это одним из огромнейших плюсов. Естественный отбор в силе.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714409
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinpt12ptВ Оракле очень сложный порог вхожденияСчитаю это одним из огромнейших плюсов. Естественный отбор в силе.
Ой, только не надо про "высокий порог вхождения" (С)
То что некоторые девелоперы/личности не сразу догадываются, как поставить оракул или где там клиент - ни о чем не говорит.
Уровень вхождения точно такой же, как у других СУБД.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714417
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander Ryndinпропущено...
Считаю это одним из огромнейших плюсов. Естественный отбор в силе.
Ой, только не надо про "высокий порог вхождения" (С)
То что некоторые девелоперы/личности не сразу догадываются, как поставить оракул или где там клиент - ни о чем не говорит.
Уровень вхождения точно такой же, как у других СУБД.Угу. И уменьшение этого порога из-за всяких RPM - зло. Вот еще сделают скрипт автозапуска для UNIX и вообще будет ужас
Хотя уже сделали в виде Oracle Restart - порог стал выше, что радует
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714424
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinlockyпропущено...

Ой, только не надо про "высокий порог вхождения" (С)
То что некоторые девелоперы/личности не сразу догадываются, как поставить оракул или где там клиент - ни о чем не говорит.
Уровень вхождения точно такой же, как у других СУБД.Угу. И уменьшение этого порога из-за всяких RPM - зло. Вот еще сделают скрипт автозапуска для UNIX и вообще будет ужас
Хотя уже сделали в виде Oracle Restart - порог стал выше, что радует
Ну пусть уберут доки из оракуля - порог вхождения станет огого!
Еще можно убрать сообщения об ошибках, оставить только ORA-000 "нишмагла"
да мало ли чего можно придумать, чтобы окружающие думали "о, он ораклоед! он крут немерено!" :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714435
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinpt12ptВ Оракле очень сложный порог вхожденияСчитаю это одним из огромнейших плюсов. Естественный отбор в силе.
Да нет в оракле никакого порога.

В 1998-м году я вышел на новую работу и в первый день участвовал в закупке и установке новых компов. Часов в шесть вечера, когда мы всё более-менее собрали, старший программист сказал: мне нужно уезжать, давай я тебе дам дистрибутив, ты его попробуй поставить. Не получится - я завтра сам всё сделаю. Ну вот в итоге года три мы вели разработку на поставленном мной оракле, который я в тот день в первый раз увидел.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714456
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerAlexander Ryndinпропущено...
Считаю это одним из огромнейших плюсов. Естественный отбор в силе.
Да нет в оракле никакого порога.

В 1998-м году я вышел на новую работу и в первый день участвовал в закупке и установке новых компов. Часов в шесть вечера, когда мы всё более-менее собрали, старший программист сказал: мне нужно уезжать, давай я тебе дам дистрибутив, ты его попробуй поставить. Не получится - я завтра сам всё сделаю. Ну вот в итоге года три мы вели разработку на поставленном мной оракле, который я в тот день в первый раз увидел.Если это был Windows, то оно и понятно. А если Linux, то в 98-году не было ни puschitz, ни нормального интернета, ни RHEL, а были сыроватые бесплатные RedHat. Не верю, что все прошло без сучка и задоринки. Нужно было минимум уметь читать доку и лазать на support. Сейчас даже это необязательно.

Хотя о чем мы спорим? :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714864
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а оракл вообще с новыми релизами повышает уровень автоматизации дба'вских задач?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37714901
Barkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12pt,

Может несколько не в тему, но выскажусь.
На нашем заводе сейчас начинают обучение и внедрение системы JDE Enterprise One.
Для программистов провели недельный курс, из которого мы вынесли главную мысль:
система использует Oracle как "папку для хранения файлов DBF".
То есть она не предполагает использование никаких объектов базы данных кроме таблиц.
И даже не предполагает создания foreign key для таблиц.
Хорошо хоть про индексы не забыли.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715016
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSа оракл вообще с новыми релизами повышает уровень автоматизации дба'вских задач?Естественно :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715040
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barkanpt12pt,

Может несколько не в тему, но выскажусь.
На нашем заводе сейчас начинают обучение и внедрение системы JDE Enterprise One.
Для программистов провели недельный курс, из которого мы вынесли главную мысль:
система использует Oracle как "папку для хранения файлов DBF".
То есть она не предполагает использование никаких объектов базы данных кроме таблиц.
И даже не предполагает создания foreign key для таблиц.
Хорошо хоть про индексы не забыли.
JD Edwards позволяет работать с разными БД, поэтому и не привязываются к конкретным движкам. отсутствие foreign key и денормализация данных, для повышения производительности.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715048
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarkanДля программистов провели недельный курс, из которого мы вынесли главную мысль: система использует Oracle как "папку для хранения файлов DBF".
Ну да. Типичный источник мнений "да этот оракл ничем не лучше mysql, только до хрена стоит".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715168
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДенJD Edwards позволяет работать с разными БД, поэтому и не привязываются к конкретным движкам. отсутствие foreign key и денормализация данных, для повышения производительности.

Всегда считал, что для повышения быстродействия данные транзакционных систем, как раз надо, нормализовать. Про FK - даже нет комментариев. :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715269
Barkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДенJD Edwards позволяет работать с разными БД, поэтому и не привязываются к конкретным движкам. отсутствие foreign key и денормализация данных, для повышения производительности.

Каким образом отсутсвие FK и денормализация повышают производительность?
Какие СУБД, из современных конечно-же, не поддерживают создание FK?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715370
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarkanДенJD Edwards позволяет работать с разными БД, поэтому и не привязываются к конкретным движкам. отсутствие foreign key и денормализация данных, для повышения производительности.

Каким образом отсутсвие FK и денормализация повышают производительность?
Наличие FK однозначно производительность снизит. Сильно или нет - вопрос второй.

Денормализация повышает производительность только для определенного класса задач.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715387
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarkanКаким образом отсутсвие FK и денормализация повышают производительность?
Отсутствие FK теоретически повышает производительность за счёт невыполнения проверок для "достоверных" данных. На практике "отсутствие FK для повышения производительности" часто сопровождается куда более кривыми и тормозными проверками того же в программном коде.

Денормализация повышает производительность выборок за счёт торможения операций модификации данных.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715401
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715405
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример с супре-системой JD Edwards яркий пример "глубокой" "оптимизации" ПО под субд. Вот если бы это ПО использовало оракл как папочка для ДБФ а мсскл по полной катушке с логикой на ХП и прочими оптимизациями, то ясное дело, чтонадо брать мсскл, ровно как инаоборот. Т.е. для выбора критичгно важно знать особенности конкретной системы.
Автор топика по-прежнему не желает озвучить название приобретаемой у них системы и у меня скалдывается, что это такая форма троллизма и раздувания очередного срачега на тему оракл vs mssql.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715425
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglНаличие FK однозначно производительность снизит. Сильно или нет - вопрос второй.

совершенно не факт, кстати.
Современные оптимизаторы учитывают FK при построении планов запросов
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715454
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockySiemarglНаличие FK однозначно производительность снизит. Сильно или нет - вопрос второй.

совершенно не факт, кстати.
Современные оптимизаторы учитывают FK при построении планов запросовЯсное дело. FK же тянет за собой индекс. Индекс обслуживать надо всегда, а вот будет ли он эффективно использоваться в работе - не факт.

FK может существовать без индекса, но это скорее нонсенс.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715458
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargllockyпропущено...

совершенно не факт, кстати.
Современные оптимизаторы учитывают FK при построении планов запросовЯсное дело. FK же тянет за собой индекс. Индекс обслуживать надо всегда, а вот будет ли он эффективно использоваться в работе - не факт.

FK может существовать без индекса, но это скорее нонсенс.
оптимизатор учитывает не индекс, а именно FK, упрощая соединения путём выбрасывания ненужных таблиц
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715479
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinYo.!бэкапы оракла можно настраивать через гуй точно так же как и в мсскл

Т.е. вот этот вот "недостаток MS SQL"

Yo.!майкрософтские дба тыркают в кнопочки визарда не осознавая даже базовых вещей.

за "недостаток" не считаем? :)

Мало делать бекапы - нужно ещё уметь из них восстанавливать, решать возникающие по ходу проблемы, кои Oracle щедро рассыпает. Вот тут-то караул и возникает. Разумеется, любой высокооплачиваемый IT-специалист сложностям должен быть рад. Ибо чем сложнее, тем больше его значимость, меньше конкуренция и выше зарплаты.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715482
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockySiemarglпропущено...
Ясное дело. FK же тянет за собой индекс. Индекс обслуживать надо всегда, а вот будет ли он эффективно использоваться в работе - не факт.

FK может существовать без индекса, но это скорее нонсенс.
оптимизатор учитывает не индекс, а именно FK, упрощая соединения путём выбрасывания ненужных таблицИнтересно бы увидеть пример, если не реальный, то хотя бы принцип.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715484
Barkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ден,

Спасибо за ссылку.
Особенно мне понравилось вот это:
Индекс — это упорядоченное подмножество элементов таблицы, для которой создан индекс. Применение индексов позволяет ускорить поиск и сортировку. Чем меньше размер ключа индекса , тем меньше места занимает ключ и тем выше его эффективность . Поскольку первичные ключи таблиц часто используются в других таблицах в качестве внешних ключей, рекомендуется минимизировать длину первичных ключей . Если в таблице отсутствуют столбцы небольшой длины, которые могут использоваться как первичный ключ, в качестве первичного ключа можно использовать столбец удостоверения, реализованный в виде целочисленного значения.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715524
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargllockyпропущено...

оптимизатор учитывает не индекс, а именно FK, упрощая соединения путём выбрасывания ненужных таблицИнтересно бы увидеть пример, если не реальный, то хотя бы принцип.

Дурацкий пример, но навскидку не придумывается, а вспоминать лень
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create table Parent(id int primary key)
go

create table Slave(ParentId int not null references Parent(id))
go


--SET SHOWPLAN_TEXT on

select ParentId from Slave where exists(select * from Parent where id = ParentId)



план если есть FK


Код: plaintext
1.
2.
3.
4.
StmtText
-------------------------------------------------
  |--Table Scan(OBJECT:([tempdb].[dbo].[Slave]))


План если нет FK
StmtText
Код: plaintext
1.
2.
3.
4.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  |--Nested Loops(Inner Join, OUTER REFERENCES:([tempdb].[dbo].[Slave].[ParentId]))
       |--Table Scan(OBJECT:([tempdb].[dbo].[Slave]))
       |--Clustered Index Seek(OBJECT:([tempdb].[dbo].[Parent].[PK__Parent__3213E83F46535886]), SEEK:([tempdb].[dbo].[Parent].[id]=[tempdb].[dbo].[Slave].[ParentId]) ORDERED FORWARD)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715539
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky, ОК.

Т.е. просто нет двойной работы - уже проверенное с помощью FK при вставке данных один раз, при множественных запросах потом повторной проверки не требует.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715556
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargllocky, ОК.

Т.е. просто нет двойной работы - уже проверенное с помощью FK при вставке данных один раз, при множественных запросах потом повторной проверки не требует.
Не только.
FK дает понятие о том, что может быть, а чего "не может быть в принципе", по итогу из сложных запросов выпадают (сокращаются) промежуточные (и ненужные для этого конкретного запроса) таблицы, план становится проще, выполнение - быстрее.

Особенно хорошо это видно при использовании "обобщенных view для представления полных данных".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715594
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barkan,

Не хотел вдаваться в обсуждение, кинул можно сказать первую попавшуюся ссылку про денормализацию (остальное не читал). А JD они намеренно денормализовали данные основных таблиц, т.к если объединять в запросе, то наверно 20-30 таблиц придется, чтоб получить то что выдается в форме P4210. А вобщем, данные там нормализованы, просто вместо подстановки PK из справочника, помимо него копируются(дублируются) из него данные. ERP сочетают в себе OLTP и DW, т.е по транзакционным таблицам будут строить отчеты.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715630
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> FK дает понятие о том, что может быть, а чего "не может быть в принципе", по
> итогу из сложных запросов выпадают (сокращаются) промежуточные (и ненужные для
> этого конкретного запроса) таблицы, план становится проще, выполнение - быстрее.

Чёто ты гонишь. FK можно создать и после вставки данных, данные при этом не
будут соответствовать ограничению, реализуемому FK. Запросы при этом должны
выдавать РЕАЛЬНЫЕ данные, а не то, что могло бы быть, если бы FK существовал
в БД всегда.

Никогда в общем не слыхал, чтобы FK как-то участвовали в оптимизации запросов,
кроме конечно индексов, поддерживающих FK, если они есть.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715640
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторто наверно 20-30 таблиц придется,

Современные СУБД очень хорошо справляются со звездой. http://msdn.microsoft.com/ru-ru/library/bb522541.aspx
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715647
Barkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ден,

Ладно, фиг с ней, с JDE и её чудесным языком.
Для программистов, которым придётся лепить "заплатки и кармашки"
к стандартной конфигурации это конкретное попадалово.
Придётся видимо новую работу искать. Ж:)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715678
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> FK дает понятие о том, что может быть, а чего "не может быть в принципе", по
> итогу из сложных запросов выпадают (сокращаются) промежуточные (и ненужные для
> этого конкретного запроса) таблицы, план становится проще, выполнение - быстрее.

Чёто ты гонишь. FK можно создать и после вставки данных, данные при этом не
будут соответствовать ограничению, реализуемому FK. Запросы при этом должны
выдавать РЕАЛЬНЫЕ данные, а не то, что могло бы быть, если бы FK существовал
в БД всегда.

Никогда в общем не слыхал, чтобы FK как-то участвовали в оптимизации запросов,
кроме конечно индексов, поддерживающих FK, если они есть.



Ну, насчет "гонишь" - это не ко мне.
Что касается вас, дражайший, то почитайте на тему trusted foreign keys, а также не предмет опций созданий FK (check/nocheck)

Что касаемо "никогда не слышал", то вот из того о чем я никогда не слышал - можно целую библиотеку составить. Не сомневаюсь, что это справедливо и в Вашем случае.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715703
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivFK можно создать и после вставки данных,
Можно.

MasterZivданные при этом не будут соответствовать ограничению, реализуемому FK.
Да ну правда что ли? Ну попробуйте, попробуйте.

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

MasterZivНикогда в общем не слыхал, чтобы FK как-то участвовали в оптимизации запросов,
Ну можно почитать документацию. Вот , например, полезная табличка.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37715923
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> И хотелось бы знать, на опыте какой именно СУБД Вы выдвигаете категорическое
> утверждение вида "иначе и не бывает".

Да хоть MSSQL, хоть MySQL. Только где ты там видел "утверждение вида "иначе и не
бывает" ?

> Ну можно почитать документацию. Вот
> < http://docs.oracle.com/cd/B10500_01/server.920/a96520/qr.htm#50063>, например,

А, это Оракул, Великий и Ужасный ...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716009
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv > И хотелось бы знать, на опыте какой именно СУБД Вы выдвигаете категорическое
> утверждение вида "иначе и не бывает".

Да хоть MSSQL, хоть MySQL. Только где ты там видел "утверждение вида "иначе и не
бывает" ?


Матчасть изучатьне пробовали? Так, смеха ради

авторWITH CHECK | WITH NOCHECK
Specifies whether the data in the table is or is not validated against a newly added or re-enabled FOREIGN KEY or CHECK constraint. If not specified, WITH CHECK is assumed for new constraints, and WITH NOCHECK is assumed for re-enabled constraints.

If you do not want to verify new CHECK or FOREIGN KEY constraints against existing data, use WITH NOCHECK. We do not recommend doing this, except in rare cases. The new constraint will be evaluated in all later data updates. Any constraint violations that are suppressed by WITH NOCHECK when the constraint is added may cause future updates to fail if they update rows with data that does not comply with the constraint.

The query optimizer does not consider constraints that are defined WITH NOCHECK. Such constraints are ignored until they are re-enabled by using ALTER TABLE table CHECK CONSTRAINT ALL.


Первое выделение - насчет "не бывает"
Второе - насчет "никогда не слыхал, чтобы оптимизатор".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716091
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptТриггеры на уровне записи...Использование этой штуки нужно когда необходимо изменять колонку PK
Никому об этом не говори :) Использование "этой штуки" нужно, если надо что-то делать\проверять перед или после манипуляций с записью.

PS:А ещё Оракл может работать на линуксе, в отличие от.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716108
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotИспользование "этой штуки" нужно, если надо что-то делать\проверять перед или после манипуляций с записью.

Для этого не нужны триггеры уровня записи.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716112
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinSQL BigotИспользование "этой штуки" нужно, если надо что-то делать\проверять перед или после манипуляций с записью.

Для этого не нужны триггеры уровня записи.
Хотя иногда чертовски удобны.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716143
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinДля этого не нужны триггеры уровня записи.
Вот только не "не нужны", а "без них можно обойтись", затратив на это лишние телодвижения :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716150
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotВот только не "не нужны", а "без них можно обойтись", затратив на это лишние телодвижения :)

Давайте рассмотрим конкретный пример?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716168
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinДавайте рассмотрим конкретный пример?
Классический(?):журнал всех(в том числе и неудачных) попыток манипуляций с записью без включения аудита.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716183
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotКлассический(?):журнал всех(в том числе и неудачных) попыток манипуляций с записью без включения аудита.

Можно расшифровать термин "неудачных"?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716186
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinSQL BigotКлассический(?):журнал всех(в том числе и неудачных) попыток манипуляций с записью без включения аудита.

Можно расшифровать термин "неудачных"?
С роллбэком
но тут, видимо, нужнее не row-level-trigger, а автономные транзакции
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716195
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyно тут, видимо, нужнее не row-level-trigger, а автономные транзакции

Угу. В легкую реализуются через CLR сборку с self-коннектом.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716197
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyС роллбэком
но тут, видимо, нужнее не row-level-trigger, а автономные транзакции
Возможно, тут имелся в виду массовый апдейт, сорвавшийся посередине, и требование сохранить информацию о действиях с первыми записями.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716199
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky С роллбэком
но тут, видимо, нужнее не row-level-trigger, а автономные транзакции

Опередил :)
Так и есть:автономные в row-level-trigger'e.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716232
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinУгу. В легкую реализуются через CLR сборку с self-коннектом.
При наличии each row триггера - это и есть "лишние телодвижения" :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716239
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ещё пример: автоматическое заполнение у изменённых записей полей с временем изменения
и именем пользователя, за это ответственного.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716265
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotПри наличии each row триггера - это и есть "лишние телодвижения" :)

Реализация автономных транзакция в MS SQL - лишнее движение по сравнению с Oracle. Причем тут row level триггер - не совсем понятно.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716267
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovавтоматическое заполнение у изменённых записей полей с временем изменения
и именем пользователя, за это ответственного.


Здесь точно не нужен row level триггер.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716271
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinlockyно тут, видимо, нужнее не row-level-trigger, а автономные транзакции
Угу. В легкую реализуются через CLR сборку с self-коннектом.Страшно жить.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716283
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinСтрашно жить.

C этими проблемами - не на этот форум...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716304
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin,

Ну как бы, проктологические решения, тоже не этот форум )))
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716322
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglНу как бы, проктологические решения, тоже не этот форум )))

Смена СУБД выглядит не менее проктологически, если мне понадобится функционал автономных транзакций.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716333
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinРеализация автономных транзакция в MS SQL - лишнее движение по сравнению с Oracle.
Реализация эта уже есть на стороне оракла. Тебе надо просто "разместить объяву", что транзакция для вставки в журнал - автономная.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716339
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Bigot,

Перечитайте еще раз мое высказывание, что и где я констатировал лишним.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716376
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Bigot,

Все равно спор закончился тем, что этот роу-лелевел обходится в MS SQL.
Если на то пошло напишите мне без лишних телодвижений
Код: sql
1.
if exist

или вот такая конструкция

Код: sql
1.
2.
3.
update table1
set field1=1
from .........  

в Оракле.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716386
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опя-я-я-ть. О нет, не надо, пожалуйста!
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716388
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinПеречитайте еще раз мое высказывание...
"Позвольте Вам не позволить!" :)
Лишнее, ИМХО, это исправление недостатков функционала у сервера впиливанием своих CLR сборок, вместо использования штатных встроенных средств правильной СУБД :O)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716394
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotЛишнее, ИМХО, это исправление недостатков функционала у сервера впиливанием своих CLR сборок, вместо использования штатных встроенных средств правильной СУБД :O)

Разве я сказал по-другому (в части автономных транзакций)?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716396
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinОпя-я-я-ть. О нет, не надо, пожалуйста!

Ага... Надо было это сказать чуть раньше... Когда всплыли автономные транзакции и row level триггера. ;)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716403
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinОпя-я-я-ть. О нет, не надо, пожалуйста!

Еще привести примеры как вас добить?

например как вызывав процедуру, которая заканчивается селектом получить резальтсет? В MS это реализовано, а в Оракле надо сначала объявить курсор...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716410
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndin,

Вы знаете в Оракле работать очень тяжело. В MS как-то все пишется лекго и непринужденно. Кроме фич СУБД нужна еще и эргономика.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716430
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptAlexander Ryndin,

Вы знаете в Оракле работать очень тяжело. В MS как-то все пишется лекго и непринужденно. Кроме фич СУБД нужна еще и эргономика.давайте без таких обобщений, ок?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716439
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinРазве я сказал по-другому (в части автономных транзакций)?
Это какая-то казуистика пошла :)
Давай проследим вместе:
ты сказал, что each row триггер не нужен, пример я привел, когда нужен, ты сказал, как можно обойти, я поверил на слово :)
Вывод:триггер иногда нужен(да,нужен триггер), но можно обойти(да,можно обойти).
Означает ли последнее утверждение, что триггер не нужен?

Означает ли утвердительный ответ на предыдущий вопрос,
что тоннель под Ла-Маншем тоже не нужен, если через пролив можно переплыть? :O)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716444
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperpt12ptAlexander Ryndin,

Вы знаете в Оракле работать очень тяжело. В MS как-то все пишется лекго и непринужденно. Кроме фич СУБД нужна еще и эргономика.давайте без таких обобщений, ок?
Ок, согласен. Глупое высказывание.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716459
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptВ MS как-то все пишется лекго и непринужденно.

Потому что он не контролирует зависимости метаданных, типы выходных и входных данных. Не
удивлюсь, если у него и ссылочная целостность работает через раз.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716463
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinlockyно тут, видимо, нужнее не row-level-trigger, а автономные транзакции

Угу. В легкую реализуются через CLR сборку с self-коннектом.
Всё равно - неудобненько как-то.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716466
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotpkarklinПеречитайте еще раз мое высказывание...
"Позвольте Вам не позволить!" :)
Лишнее, ИМХО, это исправление недостатков функционала у сервера впиливанием своих CLR сборок, вместо использования штатных встроенных средств правильной СУБД :O)
"правильная СУБД" уже научилась делать UPDATE FROM? И, желательно, не задалбывая меня всякими гнусными намёками "я не шмогла разобраться в схеме - не понимаю, где тут уникальность, где нет"?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716471
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky"правильная СУБД" уже научилась делать UPDATE FROM?
А "неправильная СУБД" уже согласилась понимать-таки стандартный MERGE вместо треугольных
велосипедов?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716475
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovlocky"правильная СУБД" уже научилась делать UPDATE FROM?
А "неправильная СУБД" уже согласилась понимать-таки стандартный MERGE вместо треугольных
велосипедов?..


Что, адын-адын, получается?

Хотя, как по мне, UPDATE FROM куда востребованнее MERGE.

зы это еще надо посмотреть, что там "правильная СУБД" требует для MERGE.... А то вдруг опять надо контракт кровью подписывать :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716484
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky"правильная СУБД" уже научилась делать UPDATE FROM?
Так вот на пальцах и умозрительно не скажу, но, возможно, в данном случае правильнее использовать MERGE.
Конкретный пример в конференцию оракл - и там его, наверняка, порвут :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716494
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Bigotlocky"правильная СУБД" уже научилась делать UPDATE FROM?
Так вот на пальцах и умозрительно не скажу, но, возможно, в данном случае правильнее использовать MERGE.
Конкретный пример в конференцию оракл - и там его, наверняка, порвут :)
Ну, вообще-то, там где нужен UPDATE - там правильнее использовать UPDATE
Хотя можно использовать и MERGE - как "костыль" и workaround :)

примеры и обсуждения уже были. "ты дурак и уши у тебя холодные. Пиши как здесь принято - пусть даже это дико и косо. В любом случае - по другому не получится. Ну или используй курсоры"
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716496
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky"Ну или используй курсоры"
После того тормозного убожества, которое MS называет "курсорами", с помощью этого слова их
адептов можно отпугивать не хуже чем вампиров чесноком.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716500
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky
Что, адын-адын, получается?

Хотя, как по мне, UPDATE FROM куда востребованнее MERGE.

для лабания говнокода - безусловно
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716503
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!lockyЧто, адын-адын, получается?

Хотя, как по мне, UPDATE FROM куда востребованнее MERGE.

для лабания говнокода - безусловно


А можете написать где в этой конструкции говнокод. Я без издевки, я серьезно, напишите в чем там проблема.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716516
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovlocky"Ну или используй курсоры"
После того тормозного убожества, которое MS называет "курсорами", с помощью этого слова их
адептов можно отпугивать не хуже чем вампиров чесноком.

тото адепты "правильной СУБД" так их любят! На "правильной СУБД" - они быстрые!
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716519
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!lockyЧто, адын-адын, получается?

Хотя, как по мне, UPDATE FROM куда востребованнее MERGE.

для лабания говнокода - безусловно
Угу. UPDATE же это - прошлый век, негломурно
правильные посоны только MERGE юзают. И курсоры :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716577
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pt12pt
А можете написать где в этой конструкции говнокод. Я без издевки, я серьезно, напишите в чем там проблема.
в мсскл большой косяк в конструкции update from, если в результате джоина во фром на одну обновляемую запись приходиться несколько разных значений мсскл берет от балды одно из них и делает update. классика говнокода.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716606
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!pt12ptА можете написать где в этой конструкции говнокод. Я без издевки, я серьезно, напишите в чем там проблема.
в мсскл большой косяк в конструкции update from, если в результате джоина во фром на одну обновляемую запись приходиться несколько разных значений мсскл берет от балды одно из них и делает update. классика говнокода.
В оракуле косяк.
Если оракул не может толком разобраться - сколько записей будет проадечено, он говорит "а вдруг ты отстрелишь себе ногу?" - и не пропускает такой запрос.
Классика, что называется.


если я правильно помню, то в оракуле даже update виде
update T1
set Val = t2.val
from Table1 t1 inner join (select id, sum(val) as val from Table2 group by id) t2 on t1.id = t2.id

считается "некошерным", т.к. "на каждый id из таблицы Table1 подзапрос может вернуть несколько строк" :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716627
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotДавай проследим вместе:
ты сказал, что each row триггер не нужен, пример я привел, когда нужен, ты сказал, как можно обойти, я поверил на слово :)
Вывод:триггер иногда нужен(да,нужен триггер), но можно обойти(да,можно обойти).
Означает ли последнее утверждение, что триггер не нужен?

Давай вместе... Ты сказал про триггер, locky, намекнул, что, как-бы сам по себе триггер, как бы и не причем вне контекста автономной транзакции, ты сказал, что он тебя опередил (и даже отболдил), я сказал, как можно реализовать автономные транзакции, и даже потдвердил, что их (автономных транзакций) реализация в MS SQL требует "дополнительных движений".

А теперь вопрос: причем тут триггер? И где конкретный пример, где без оного (про автономные транзакции мы точки уже над "и" расставили?), кроме как случая модификации PK, не обойтись?

ЗЫ. Дима, привел пример, но, как обычно, неудачный...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716630
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНе
удивлюсь, если у него и ссылочная целостность работает через раз.


Ага, и PK у MS SQL не гарантируют уникальность и 2 + 2 = 5.

ЗЫ. Самому не смешно?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716632
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!pt12ptА можете написать где в этой конструкции говнокод. Я без издевки, я серьезно, напишите в чем там проблема.
в мсскл большой косяк в конструкции update from, если в результате джоина во фром на одну обновляемую запись приходиться несколько разных значений мсскл берет от балды одно из них и делает update. классика говнокода.

Вы точно в этом уверены? Может быть СУБД ругнется мол несколько значений для обновления. И отказ в транзакции. Или нет?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716633
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotТак вот на пальцах и умозрительно не скажу, но, возможно, в данном случае правильнее использовать MERGE.


Дык и используем мы его. Года 4ре последних... Но для более сложных конструкций, чем UPDATE.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716638
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptИли нет?

И это документированное поведение. Но только Yo.! даже документированное поведение называет косяками... :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716639
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptЕще привести примеры как вас добить?
например как вызывав процедуру, которая заканчивается селектом получить резальтсет? В MS это реализовано, а в Оракле надо сначала объявить курсор...
Это не "добить", это что-то вроде "как выполнить оператор INSERT так, чтобы в результате получился DELETE". То есть проктологическое решение уровня ЭВМ 3-го поколения.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716643
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПосле того тормозного убожества, которое MS называет "курсорами", с помощью этого слова их
адептов можно отпугивать не хуже чем вампиров чесноком.


Тормознутости по сравнению с чем? Есть тесткей для сравнения?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716645
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptYo.!пропущено...

в мсскл большой косяк в конструкции update from, если в результате джоина во фром на одну обновляемую запись приходиться несколько разных значений мсскл берет от балды одно из них и делает update. классика говнокода.

Вы точно в этом уверены? Может быть СУБД ругнется мол несколько значений для обновления. И отказ в транзакции. Или нет?
не ругнётся.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716647
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklinИ это документированное поведение. Но только Yo.! даже документированное поведение называет косяками... :)
попрошу не наговаривать на Yo.! я не утверждал что это косяк, я утверждал, что это классический говнокод. и междупрочим совершенно справедливо утверждал.

pt12ptВы точно в этом уверены? Может быть СУБД ругнется мол несколько значений для обновления. И отказ в транзакции. Или нет?

потратте 30 секунд на эксперимент и убедитесь.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716654
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerpt12ptЕще привести примеры как вас добить?
например как вызывав процедуру, которая заканчивается селектом получить резальтсет? В MS это реализовано, а в Оракле надо сначала объявить курсор...
Это не "добить", это что-то вроде "как выполнить оператор INSERT так, чтобы в результате получился DELETE". То есть проктологическое решение уровня ЭВМ 3-го поколения.

Можете поконкретнее. В MS вы создаете хранимую процедуру, которая чего-нибудь делает, в конце тела процедура у вас есть итоговый селект. Затем в где-нибудь в другом месте вызываете ее оператором exec с именем и параметрами и после выполнения ее вы получаете результирующий набор. Что здесь проктологического? В Оракле же мало того, что используется специальный язык, ну бог с ним вам необходимо объявить курсорную переменную, заполнить ее данными и вернуть потребителю эту курсорную переменную. Как-то так если я не ошибаюсь. По-моему это и есть проктологизм.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716657
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockypt12ptпропущено...


Вы точно в этом уверены? Может быть СУБД ругнется мол несколько значений для обновления. И отказ в транзакции. Или нет?
не ругнётся.

А что он сделает? Запишет как попало?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716658
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinИ это документированное поведение.
Ну, кривой и противоречащий стандарту unique constraint - это тоже документированное поведение. А в FoxPro, например, в запросе с group by можно было использовать "левое" поле и тоже бралось то ли первое попавшееся значение, то ли последнее - это тоже было документированным поведением.

pkarklinНо только Yo.! даже документированное поведение называет косяками... :)
В данном случае правильно делает. Бага не перестаёт быть багой от того, что её записали в документацию.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716659
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptМожете поконкретнее...

Данная проблематика уже обсуждалась в этом разделе форума. Поищите, пожалуйста, там несколько страниц.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716664
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptА что он сделает? Запишет как попало?

Запишет произвольным значеним из "подпавших под условие объединения".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716675
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНу, кривой и противоречащий стандарту unique constraint - это тоже документированное поведение. А в FoxPro, например, в запросе с group by можно было использовать "левое" поле и тоже бралось то ли первое попавшееся значение, то ли последнее - это тоже было документированным поведением.

ну, в сайбейзе, например, с group by - чудеса тоже те еще :)

а насчет "противоречащий стандарту" - главное чтобы не противоречило здравому смыслу и потребностям, остальное - от лукавого.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716678
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНу, кривой и противоречащий стандарту unique constraint - это тоже документированное поведение.


Код: sql
1.
2.
3.
4.
5.
CREATE TABLE T1(col1 char(1) NULL)
GO

CREATE UNIQUE INDEX IX_T1_col1 ON T1(col1) WHERE col1 IS NOT NULL
GO



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

Не буду, пожалуй, опускаться вновь до перечисления противоречящих стандарту и документированных баг, которые можно найти в любой СУБД.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716696
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptЧто здесь проктологического?
Много всего:

Наличие у хранимых процедур необъявленных входных и выходных параметров

Наличие у хранимых процедур плохо контролируемых побочных эффектов

Передача важнейшей информации через неструктурированную глобальную переменную, аналог фортрановских "общих областей" (это такое достижение технологии 1957-го года, убрано из языка как устаревшее и неадекватное кажется в 1977-м)

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

pt12ptВ Оракле же мало того, что используется специальный язык,


pt12ptну бог с ним вам необходимо объявить курсорную переменную, заполнить ее данными и вернуть
В любом нормальном языке программирования процедура, желающая вернуть пользователю данные, должна иметь выходной параметр и должна вычислить его значение. Например, в Java, если Вы ходите посчитать количество элементов в списке, Вы пишете:

Код: java
1.
2.
3.
static public int getListCount(List list) {
  return list == null ? 0 : list.size();
}



по аналогии, когда Вы в PL/SQL хотите посчитать количество строк в таблице, Вы пишете

Код: plsql
1.
2.
3.
4.
5.
6.
function tableCount return integer is
  cnt integer;
begin
  select count(*) into cnt from table;
  return cnt;
end;



Конечно, можно пытаться назвать это проктологией, но тогда придётся чохом занести в это понятие практически все языки программирования, разработанные начиная с 60-х годов. По мне всё же "извращенцев" стоит искать среди желающих возвращать результаты работы каким-то другим способом.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716702
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyа насчет "противоречащий стандарту" - главное чтобы не противоречило здравому смыслу и потребностям, остальное - от лукавого.
Согласен. Собственно моё большое удивление по поводу unique в mssql вызвано именно его категорическим противоречием здравому смыслу. Стандарт же я здесь упомянул только для подчёркивания противопоставления "документированному поведению". Там, где стандарт противоречит здравому смыслу (например, в требовании различать null и пустую строку) я сам с большим удовольствием поддерживаю забивание на стандарт.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716703
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКонечно, можно пытаться назвать это проктологией, но тогда придётся чохом занести в это понятие практически все языки программирования, разработанные начиная с 60-х годов. По мне всё же "извращенцев" стоит искать среди желающих возвращать результаты работы каким-то другим способом.
нуну :)
Ну не нравится вам возвращать рекордсеты - используйте OUT параметры, кто ж вам мешает то?
как по мне, так лучше иметь 2 (или более) способа выполнить некую задачу, нежели с пеной у рта доказывать всем и каждому "есть только один исконно правильный способ, нужно использовать его! Ведь по другому то и не сделаешь!"
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716706
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНаличие у хранимых процедур необъявленных ... выходных параметров

Вот здесь можно прочитать о новой опции EXECUTE - WITH <result_sets_definition>. Приведу только пример:

Код: sql
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.
26.
27.
28.
29.
30.
USE AdventureWorks2012;
GO

--Create the procedure
CREATE PROC Production.ProductList @ProdName nvarchar(50)
AS
-- First result set
SELECT ProductID, Name, ListPrice
    FROM Production.Product
    WHERE Name LIKE @ProdName;
-- Second result set 
SELECT Name, COUNT(S.ProductID) AS NumberOfOrders
    FROM Production.Product AS P
    JOIN Sales.SalesOrderDetail AS S
        ON P.ProductID  = S.ProductID 
    WHERE Name LIKE @ProdName
    GROUP BY Name;
GO

-- Execute the procedure 
EXEC Production.ProductList '%tire%'
WITH RESULT SETS 
(
    (ProductID int,   -- first result set definition starts here
    Name Name,
    ListPrice money)
    ,                 -- comma separates result set definitions
    (Name Name,       -- second result set definition starts here
    NumberOfOrders int)
);
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716709
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716713
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerlockyа насчет "противоречащий стандарту" - главное чтобы не противоречило здравому смыслу и потребностям, остальное - от лукавого.
Согласен. Собственно моё большое удивление по поводу unique в mssql вызвано именно его категорическим противоречием здравому смыслу. Стандарт же я здесь упомянул только для подчёркивания противопоставления "документированному поведению". Там, где стандарт противоречит здравому смыслу (например, в требовании различать null и пустую строку) я сам с большим удовольствием поддерживаю забивание на стандарт.
А я вот вижу различие между NULL и пустой строкой, и поведение оракуля, который с какого-то бодуна их не различает - кажется мне весьма сомнительным. Как оракул еще NULL с нулём не путает - удивительно просто.....

Но, тем не менее, UQ с множественными NULL значениями - в скуле таки есть, реализуемы.
И, видимо, в оракуле аналогичным образом реализуемы UQ с единственным NULL значением.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716716
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что интересно, ораклоиды крайне редко приводят в качестве примеров того, что у них есть хорошего - действительно интересные и хорошие вещи
До сих пор удивляюсь - почему так происходит.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716732
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я могу в Oracle написать такую функцию (утрировано):

Код: plsql
1.
2.
3.
4.
5.
6.
function tableCount return integer is
  cnt integer;
begin
  DELETE * into cnt from table;
  return cnt;
end;
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716734
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716736
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЯ могу в Oracle написать такую функцию (утрировано):

Код: plsql
1.
2.
3.
4.
5.
6.
function tableCount return integer is
  cnt integer;
begin
  DELETE * into cnt from table;
  return cnt;
end;


Да, но в DML вызывать нельзя, только procedure-like
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716746
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyЧто интересно, ораклоиды крайне редко приводят в качестве примеров того, что у них есть хорошего - действительно интересные и хорошие вещи
До сих пор удивляюсь - почему так происходит.Просто обычно специалист хорошо знает одну систему и не мыслит, что какая-то очевидная для него вещь отсутствует в другой базе данных.

Ну, например, возьмите систему встроенных пакетов Oracle . Можно открывать по очереди и узнавать, и узнавать новое. И этого обычно нет в MSSQL. Но даже если не сравнивать набор этих возможностей, а просто глянуть на то, что у MSSQL имена хранимых процедур находятся в одном измерении, то можно привести в ужас бывалого разработчика pl/sql.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716748
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyДа, но в DML вызывать нельзя, только procedure-like

Т.е., грубо, в коде вызвать можно:

Код: plsql
1.
а =  tableCount 



Тогда здесь тот же самый side effect.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716752
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinlockyЧто интересно, ораклоиды крайне редко приводят в качестве примеров того, что у них есть хорошего - действительно интересные и хорошие вещи
До сих пор удивляюсь - почему так происходит.Просто обычно специалист хорошо знает одну систему и не мыслит, что какая-то очевидная для него вещь отсутствует в другой базе данных.

Ну, например, возьмите систему встроенных пакетов Oracle . Можно открывать по очереди и узнавать, и узнавать новое. И этого обычно нет в MSSQL. Но даже если не сравнивать набор этих возможностей, а просто глянуть на то, что у MSSQL имена хранимых процедур находятся в одном измерении, то можно привести в ужас бывалого разработчика pl/sql.
Вай ме, вай дод.... Системные процедуры находятся в одной системной схеме... Да, это может вскипятить мозг
Другое дело, если системные процедуры раскиданы по сотням системных пакетов - это да, удобно. Всегда приятно угадывать - где что лежит.
Это лирика.

А вот что касается "специалист знает одну систему" - ну дак может оные "специалисты" просто.... ээээ... слегка "зашорены"? Ну или просто не умеют пользоваться другими системами, откуда и возникает это вот "а у вас всё не по людски!А вот у нас...."

зы обычно "узнают новое" из документации, а не копаясь в "системных пакетах". но это тоже - лирика.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716756
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinlockyДа, но в DML вызывать нельзя, только procedure-like

Т.е., грубо, в коде вызвать можно:

Код: plsql
1.
а =  tableCount 



Тогда здесь тот же самый side effect.
Ну, тут сайд-эффекта то нету
ты фактически вызвал процедуру, которую смеха ради оформил функцией.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716757
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПередача важнейшей информации через неструктурированную глобальную переменную, аналог фортрановских "общих областей" (это такое достижение технологии 1957-го года, убрано из языка как устаревшее и неадекватное кажется в 1977-м)

Для многих разработчиков, использующих не Oracle, выглядит странным, что запрос (и это может быть не только SELECT), возвращающий резалтсет клиенту, может быть отправлен, напрямую с клиента, но точно такой же запрос нельзя обернуть в "модуль" и получить результат "тем же образом".

Так можно договорится до того, что в Pascal надо было не допускать использования writeln в процедурах и функциях, ибо непонятно, куда же информация передается из процедуры.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716762
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyНу, тут сайд-эффекта то нету
ты фактически вызвал процедуру, которую смеха ради оформил функцией.

Т.е. сайд эффект, таки, не зависит от того, что написано внутри, а от "способа" вызова...

ЗЫ. Слава Богу, что в MS SQL хп нельзя использовать в SELECTах, а в функциях CUD не к локальным табличным переменным. :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716765
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinlockyНу, тут сайд-эффекта то нету
ты фактически вызвал процедуру, которую смеха ради оформил функцией.

Т.е. сайд эффект, таки, не зависит от того, что написано внутри, а от "способа" вызова...

ЗЫ. Слава Богу, что в MS SQL хп нельзя использовать в SELECTах, а в функциях CUD не к локальным табличным переменным. :)
А может и не слава богу....
Мы то выкручивались, но сколько это крови требовало :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716768
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyкак по мне, так лучше иметь 2 (или более) способа выполнить некую задачу,
Способы различаются удобством, опасностью, полезностью в некоторых специфических ситуациях. Я в целом "за" способы, которые хоть в каких-то реальных ситуациях заметно лучше других. Что же касается конкретно этого... на решающую суперфичу он, деликатно говоря, ну никак не тянет.

lockyнежели с пеной у рта доказывать всем и каждому "есть только один исконно правильный способ, нужно использовать его! Ведь по другому то и не сделаешь!"
Тем не менее я рад, что многие выдающиеся учёные с пеной у рта доказали таки всем и каждому, что надо выкинуть из языков программирования такие способы выполнить задачу, как операторы ALTER PERFORM и ASSIGNABLE GOTO, альтернативные точки входа в функции, COMMON области, GOTO в тело другой подпрограммы и целый ряд прочих подобных фич.

pkarklinВот здесь можно прочитать о новой опции EXECUTE - WITH <result_sets_definition>. Приведу только пример:
Если я правильно понял, то это косметическое изменение, от которого я не ждал бы большого эффекта. В лучшем случае оно улучшит диагностику проблемных ситуаций "когда всё уже упало" - вместо невнятного падения ХП в случайном месте со случайной диагностикой будет падение с диагностикой "кривые входные резалтсеты". Но более важно то, что если ХП вызывается из двадцати мест, то это требует писать одно и то же в двадцати местах?

lockyНо, тем не менее, UQ с множественными NULL значениями - в скуле таки есть, реализуемы.
Безусловно. Напоминаю Вам, что я здесь не нападаю на MSSQL, а всего лишь дезавуирую аргумент "документировано - значит правильно", выдвинутый Павлом. Мог бы, конечно, дезавуировать на примере документированных оракловых нуллов - но по мне это было бы демагогией.

pkarklinЯ могу в Oracle написать такую функцию (утрировано):

Код: plsql
1.
2.
3.
4.
5.
6.
function tableCount return integer is
  cnt integer;
begin
  DELETE * into cnt from table;
  return cnt;
end;


Если я правильно понял, что Вы хотите, то это пишется так:

Код: plsql
1.
2.
3.
4.
5.
function deleteTable return integer is
begin
  delete from table;
  return sql%rowcount;
end;



Я согласен с тем, что здесь есть глобальная переменная, что не очень хорошо. Но аналогии с common областями (если Вы имели её в виду) я здесь не вижу, поскольку эту возможность никто и никогда не использовал для межпроцедурного взаимодействия. Я на самом деле даже не знаю, можно ли её теоретически так использовать :)

lockyЧто интересно, ораклоиды крайне редко приводят в качестве примеров того, что у них есть хорошего
В свете специфики типичного "сравнения" это неудивительно. Меня удивляет как раз то, что мссклщики козыряют фигнёй вместо тех немногих вещей, которые у них действительно лучше (ну дисклеймер - немногих, которые я знаю. может, многих хороших не знаю).
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716778
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinДля многих разработчиков, использующих не Oracle, выглядит странным, что запрос (и это может быть не только SELECT), возвращающий резалтсет клиенту, может быть отправлен, напрямую с клиента, но точно такой же запрос нельзя обернуть в "модуль" и получить результат "тем же образом".
Я не очень понимаю, зачем его во что-то оборачивать.

pkarklinТак можно договорится до того, что в Pascal надо было не допускать использования writeln в процедурах и функциях, ибо непонятно, куда же информация передается из процедуры.
Ну если человек перенаправит stdout и построит взаимодействие внутри приложения по принципу "одна процедура пишет writeln-ами, другая читал readln-ами", я пожалуй таки уверенно назову его нестандартно ориентированным. Что же до Pascal, то writeln из него надо было выкинуть ещё в середине девяностых, равно как и сейчас наблюдается ну просто волшебная корреляция между флагом "говнокод" и наличием в тексте всяких system.out.println.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716781
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerВ свете специфики типичного "сравнения" это неудивительно. Меня удивляет как раз то, что мссклщики козыряют фигнёй вместо тех немногих вещей, которые у них действительно лучше (ну дисклеймер - немногих, которые я знаю. может, многих хороших не знаю).
Да нам это как-то и не надо, козырять то :)
Как правило, стандартных ответов всего два: "зато мы работаем под линуксом" и "этого у нас нет, потому что это нам не нужно (да и нету у нас этого)"


ну и плюс - и правда мало людей, которые бы сопоставимое время работали с оракулом и со скулём, так, чтобы сравнить - насколько более разным получается сопоставимый код, выполняющий одинаковую работу.

зы - я вот как раз из них :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716791
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyДа нам это как-то и не надо, козырять то :)
К сожалению, практика не подтверждает истинность Ваших слов. Если очень не лень, сделайте поиск по форуму - несколько лет назад я делал глобальную выборку "холиварных" топиков форума на предмет "кто их начал: ораклоид/мссклщик/неизвестно". В итоге примерно 100% топиков были начаты мссклщиком с общим девизом "почему все кричат про крутоту оракла, когда у нас не хуже".

lockyКак правило, стандартных ответов всего два:
Правильно. Обратите внимание: ответов. А ответов на что?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716793
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПравильно. Обратите внимание: ответов. А ответов на что?
На любой аргумент.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716794
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и, разумеется, неповторимое "у нас это есть с 1993 года/с семёрки"
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716799
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockysoftwarerПравильно. Обратите внимание: ответов. А ответов на что?
На любой аргумент.
Ну собственно про "кому надо козырять" вроде как уже очевидно.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716807
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerК сожалению, практика не подтверждает истинность Ваших слов. Если очень не лень, сделайте поиск по форуму - несколько лет назад я делал глобальную выборку "холиварных" топиков форума на предмет "кто их начал: ораклоид/мссклщик/неизвестно". В итоге примерно 100% топиков были начаты мссклщиком с общим девизом "почему все кричат про крутоту оракла, когда у нас не хуже".

Боюсь, что в выборку не попали топики с высказываниям, подобными: Чем MS SQL Server хуже Oracle Database? :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716808
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerlockyпропущено...

На любой аргумент.
Ну собственно про "кому надо козырять" вроде как уже очевидно.
ну разумеется :)

стандартный диалог:
ORA: - вы не умеете ЭТО!
MS: умеем, с версии XXX
ORA: - а у нас это есть с 1993 года!

или
ORA: у вас блокировщик!
MS: вообще говоря, давно уже нет
ORA: а зато вы под линуксом не работаете!
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716811
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky, ладно, я не буду разрушать религиозные представления. Благо материалы форума доступны любому желающему.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716812
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander Ryndinпропущено...
Просто обычно специалист хорошо знает одну систему и не мыслит, что какая-то очевидная для него вещь отсутствует в другой базе данных.

Ну, например, возьмите систему встроенных пакетов Oracle . Можно открывать по очереди и узнавать, и узнавать новое. И этого обычно нет в MSSQL. Но даже если не сравнивать набор этих возможностей, а просто глянуть на то, что у MSSQL имена хранимых процедур находятся в одном измерении, то можно привести в ужас бывалого разработчика pl/sql.
Вай ме, вай дод.... Системные процедуры находятся в одной системной схеме... Да, это может вскипятить мозг Ну вот вам пример . Системные процедуры для репликации - их, наверное, более 100.
lockyДругое дело, если системные процедуры раскиданы по сотням системных пакетов - это да, удобно. Всегда приятно угадывать - где что лежит.Для кого-то стакан наполовину пуст, а для кого-то полон. Для меня системные процедуры в Oracle не раскиданы, а грамотно сгруппированы.
lockyзы обычно "узнают новое" из документации, а не копаясь в "системных пакетах". но это тоже - лирика.Есть такое понятие как самодокументированность. В Oracle чтобы узнать список доступных функций и процедур для работы с репликацией, я наберу DESC DBMS_STREAMS_ADM и в 90% случаях мне не нужна документация.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716817
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinЕсть такое понятие как самодокументированность. В Oracle чтобы узнать список доступных функций и процедур для работы с репликацией, я наберу DESC DBMS_STREAMS_ADM и в 90% случаях мне не нужна документация.
Ну а я как зануда всё-таки полезу в документацию, наберу там Replication Stored Procedures - и буду читать доку, а не делать предположения :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716818
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот чего действительно не хватает, это именно способов решения одной и той же задачи на разных СУБД и, желательно со сравнительными результатами различных счетчиков. Больше, почему-то предпринимается попыток лезьт со своим уставом в чужой монастырь...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716820
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinВот чего действительно не хватает, это именно способов решения одной и той же задачи на разных СУБД и, желательно со сравнительными результатами различных счетчиков. Больше, почему-то предпринимается попыток лезьт со своим уставом в чужой монастырь...
NDA :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716823
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но в среднем могу сказать, что оракуль со скулём примерно одинаковы
Где-то оракуль чуть быстрее, где-то скуль
Где-то оракуль конкретно так быстрее, а где-то скуль сильно удивляет (даже меня)
А так... сопоставимы.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716847
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinВот чего действительно не хватает, это именно способов решения одной и той же задачи на разных СУБД и, желательно со сравнительными результатами различных счетчиков.
Я мало представляю себе, как их получить. Мс уделает оракла на массовом инсёрте c коммитом после каждой записи, а оракл уделает мс в получении первых десяти записей из миллиардной выборки - ну и что? Ну возьмём какую-нибудь задачу типа там проводок по складу, сделаем эталонный сервак и две одинаковых корзины - для оракла и для мс, посадим две команды.. получим, что железо больше подходит под требования одного. В итоге придём к TPC и их "ловкостям рук".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716856
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander RyndinЕсть такое понятие как самодокументированность. В Oracle чтобы узнать список доступных функций и процедур для работы с репликацией, я наберу DESC DBMS_STREAMS_ADM и в 90% случаях мне не нужна документация.
Ну а я как зануда всё-таки полезу в документацию, наберу там Replication Stored Procedures - и буду читать доку, а не делать предположения :)Т.е. для вас процедуры можно называть p1, p2, p3 - вы все равно без документации ни шагу не сделает ;)
Вы утверждаете, что в Pascal, C++, Java, C# сделали глупость создав пространства имен процедур и функций. Ладно закончим этот флейм. Он непродуктивен.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716862
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinlockyпропущено...

Ну а я как зануда всё-таки полезу в документацию, наберу там Replication Stored Procedures - и буду читать доку, а не делать предположения :)Т.е. для вас процедуры можно называть p1, p2, p3 - вы все равно без документации ни шагу не сделает ;)
Вы утверждаете, что в Pascal, C++, Java, C# сделали глупость создав пространства имен процедур и функций. Ладно закончим этот флейм. Он непродуктивен.
А вам, значит, надо расшифровывать, чем же именно занимается sp_addsubscription ?
Или не надо?

не надо трогать шарп, паскаль и прочее. Я про это не говорил - и не надо мне приписывать какие-то там ваши странные слова и выводы.

и таки да - без документации - я и шагу не сделаю. Я предпочитаю знать, а не догадываться.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716864
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerМного всего:

# Наличие у хранимых процедур необъявленных входных и выходных параметров
# Наличие у хранимых процедур плохо контролируемых побочных эффектов
# Передача важнейшей информации через неструктурированную глобальную переменную, аналог
фортрановских "общих областей" (это такое достижение технологии 1957-го года, убрано из
языка как устаревшее и неадекватное кажется в 1977-м)
А вот интересно: через какое место работает столь популярный DBMS_OUTPUT?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716866
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дим, Вы хоть раз за сегодня попадёте пальцем мимо неба?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716869
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerДим, Вы хоть раз за сегодня попадёте пальцем мимо неба?

Не, мне всерьёз интересно через какое место сервер может пропихнуть строку на клиента мимо
выходных параметров процедуры. И чем это отличается от пропихивания целого резалт-сета.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716886
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНе, мне всерьёз интересно
Тогда Вам сюда: 12291469 . Читать со слов "Ну если человек"

Dimitry Sibiryakovчерез какое место сервер может пропихнуть строку на клиента мимо выходных параметров процедуры.
Ни через какое. Даже если Вы найдёте идиота, которого сумеете уговорить сделать dbms_output.enable хотя бы на тестовом сервере.

Dimitry SibiryakovИ чем это отличается от пропихивания целого резалт-сета.
Примерно тем же, чем божий дар от яичницы.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37716894
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovsoftwarerДим, Вы хоть раз за сегодня попадёте пальцем мимо неба?

Не, мне всерьёз интересно через какое место сервер может пропихнуть строку на клиента мимо
выходных параметров процедуры. И чем это отличается от пропихивания целого резалт-сета.
Можно вот это почитать. Может станет ясно.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717007
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinДавай вместе... Ты сказал про триггер, locky, намекнул, что, как-бы сам по себе триггер, как бы и не причем вне контекста автономной транзакции, ты сказал, что он тебя опередил (и даже отболдил)
Опередил в смысле расшифровки "неудачной попытки", а отболдил я и то, что решение конкретного примера лежит и в плоскости использования автономных транзакций тоже, но не отболдил его утверждение, что триггер уровня записи не нужен, т.к. он нужен тоже для данного конкретного примера.

А напомню, что изначально речь шла о "для этого не нужны триггеры уровня записи".
я :тогда нужны лишние телодвижения
ты : дай пример
я :пример
ты :расшифруй
locky:с роллбеком, но там автономные транзакции нужнее.
я :locky - опередил + [конкретный пример в оракле будет использовать] автономные транзакции в row-level-trigger'e(ближе к полному описанию моего примера был softwarer:"имелся в виду массовый апдейт, сорвавшийся посередине, и требование сохранить информацию о действиях с первыми записями"-это та самая классика, которую приводят в качестве примера, для чего нужен each row триггер, но его ответ я не видел, когда писал)
ты :решается через СТЕ(лишние телодвижения, которые ты почему-то не хочешь счесть лишними)
--------
Финиш :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717020
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на скуле тоже можно реализовать такое частичное логгирование, хотя и не так изящно.

А вот как ты на оракуле организуешь откат DDL - вот в чем вопрос...

зы да-да, я знаю, DDL откатывают только трусы, а все патчи должны тестироваться и всё такое :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717025
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lockyА вот как ты на оракуле организуешь откат DDL - вот в чем вопрос...


элементарно - flashback
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717027
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!lockyА вот как ты на оракуле организуешь откат DDL - вот в чем вопрос...


элементарно - flashback5 баллов :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717032
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyА вот как ты на оракуле организуешь откат DDL - вот в чем вопрос...
rollback - последнее, чем я буду его организовывать. Дело в том, что не знаю насколько это типично, но Oracle оптимизирован под выполнение commit, поэтому rollback транзакции обычно довольно долгий и часто занимает в несколько раз больше времени, чем собственно шла транзакция. И если накат патча шёл, допустим, 20 минут, то я вряд ли позволю себе затем потратить 100 минут только на ожидание отката.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717038
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinYo.!пропущено...

элементарно - flashback5 баллов :)
Это не та, которая совершенно случайно доступна только в EE?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717039
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerlockyА вот как ты на оракуле организуешь откат DDL - вот в чем вопрос...
rollback - последнее, чем я буду его организовывать. Дело в том, что не знаю насколько это типично, но Oracle оптимизирован под выполнение commit, поэтому rollback транзакции обычно довольно долгий и часто занимает в несколько раз больше времени, чем собственно шла транзакция. И если накат патча шёл, допустим, 20 минут, то я вряд ли позволю себе затем потратить 100 минут только на ожидание отката.
А чем тогда организуете?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717098
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander Ryndinпропущено...
5 баллов :)
Это не та, которая совершенно случайно доступна только в EE?
Я тебе даже больше скажу, эта та самая, которая DDL откатывает только вместе с базой.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717099
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apexlockyпропущено...

Это не та, которая совершенно случайно доступна только в EE?
Я тебе даже больше скажу, эта та самая, которая DDL откатывает только вместе с базой.
Хотя нет, вру, во втором релизе допилили таки .
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717148
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Bigot ты :решается через СТЕ(лишние телодвижения, которые ты почему-то не хочешь счесть лишними)
--------
Финиш :)

Какое-такое CTE?!

И... Букв много. Желательно, таки пример кода увидеть...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37717673
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexApexпропущено...

Я тебе даже больше скажу, эта та самая, которая DDL откатывает только вместе с базой.
Хотя нет, вру, во втором релизе допилили таки .
Ага. Т.е. кроме flashback database добавили еще и flashback table?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718357
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinКакое-такое CTE?!
И... Букв много. Желательно, таки пример кода увидеть...
"CTE" - это из другой ветки приплелось :) на его месте должно быть "CLR"

пример (тож букв хватает)
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 
...
 
SQL> CREATE TABLE employees_tst (employee_id NUMBER(6), salary NUMBER(8,2));
 
Table created
 
SQL> insert into employees_tst(employee_id,salary) select level,level*100 from dual connect by level < 10;
 
9 rows inserted
 
SQL> select * from employees_tst;
 
EMPLOYEE_ID     SALARY
----------- ----------
          1     100,00
          2     200,00
          3     300,00
          4     400,00
          5     500,00
          6     600,00
          7     700,00
          8     800,00
          9     900,00
 
9 rows selected
 
SQL> commit;
 
Commit complete
 
SQL> CREATE TABLE emp_audit_tst( emp_audit_id NUMBER(6), up_date DATE,
  2                           new_sal NUMBER(8,2), old_sal NUMBER(8,2) );
 
Table created
 
SQL> 
SQL> CREATE TRIGGER audit_sal_tst
  2    BEFORE UPDATE OF salary ON employees_tst
  3    FOR EACH ROW
  4  DECLARE
  5    PRAGMA AUTONOMOUS_TRANSACTION;
  6  BEGIN
  7    INSERT INTO emp_audit_tst
  8    VALUES
  9      (:old.employee_id
 10      ,SYSDATE
 11      ,:new.salary
 12      ,:old.salary);
 13    COMMIT;
 14  END;
 15  /
 
Trigger created
 
SQL> update employees_tst set salary = salary/(7-employee_id);
 
update employees_tst set salary = salary/(7-employee_id)
 
ORA-01476: divisor is equal to zero
 
SQL> commit;
 
Commit complete
 
SQL> select * from employees_tst;
 
EMPLOYEE_ID     SALARY
----------- ----------
          1     100,00
          2     200,00
          3     300,00
          4     400,00
          5     500,00
          6     600,00
          7     700,00
          8     800,00
          9     900,00
 
9 rows selected
 
SQL> select * from emp_audit_tst;
 
EMP_AUDIT_ID UP_DATE        NEW_SAL    OLD_SAL
------------ ----------- ---------- ----------
           1 22.03.2012       16,67     100,00
           2 22.03.2012       40,00     200,00
           3 22.03.2012       75,00     300,00
           4 22.03.2012      133,33     400,00
           5 22.03.2012      250,00     500,00
           6 22.03.2012      600,00     600,00
 
6 rows selected

...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718407
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Bigot,

На мой взгляд, абсолютно бесполезный (с практической точки зрения) пример. В таблице ничего не изменилось. В аудит папали не все записи, которые пытались проапдейтить, а только ДО ошибочной записи. Наличие в таблицы аудита значений в поле NEW_SAL, опять же не имеет никакой смысловой нагрузки и не возможно понять, что и зачем пытались сделать с таблицей и почему не сделалось

ЗЫ. Автономные транзакции в Oracle - это круто!
ЗЫЗЫ. Тема row level триггера осталась не расскрыта, IMHO.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718466
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЗЫЗЫ. Тема row level триггера осталась не расскрыта, IMHO.
Ну ради порядка было бы интересно увидеть реализацию на MSSQL следующего абстрактного примера:

Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
SQL> create or replace package rl as
  2    procedure init;
  3    function get return integer;
  4  end;
  5  /
 
Package created
 
SQL> create or replace package body rl as
  2    cnt integer;
  3    procedure init as begin cnt := 0; end;
  4    function get return integer as begin cnt := cnt + 1; return cnt; end;
  5  end;
  6  /
 
Package body created
 
SQL> create table rldata as select rownum id, '     ' data, cast(null as number)
  2  n from dual connect by level <= 10;
 
Table created
 
SQL> create trigger rldata_bu before update on rldata
  2  begin
  3    rl.init;
  4  end;
  5  /
 
Trigger created
 
SQL> create trigger rldata_bur before update on rldata for each row
  2  begin
  3    :new.n := rl.get;
  4  end;
  5  /
 
Trigger created
 
SQL> select * from rldata;
 
        ID DATA                          N
---------- -------------------- ----------
         1                      
         2                      
         3                      
         4                      
         5                      
         6                      
         7                      
         8                      
         9                      
        10                      
 
10 rows selected
 
SQL> update rldata set data = '  x  ' where mod(id, 2) = 0;
 
5 rows updated
 
SQL> select * from rldata;
 
        ID DATA                          N
---------- -------------------- ----------
         1                      
         2   x                           1
         3                      
         4   x                           2
         5                      
         6   x                           3
         7                      
         8   x                           4
         9                      
        10   x                           5
 
10 rows selected
 
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718507
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Небольшое уточнение. Нужен конечный результат (пронумеровать проапдейченные записи)?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        ID DATA                          N
---------- -------------------- ----------
         1                      
         2   x                           1
         3                      
         4   x                           2
         5                      
         6   x                           3
         7                      
         8   x                           4
         9                      
        10   x                           5
 
10 rows selected
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718519
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin, смотря что считать конечным результатом. Например

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL> update (select * from rldata order by dbms_random.value()) set data =  '  x  ';
 
10 rows updated
 
SQL> select * from rldata;
 
        ID DATA                          N
---------- -------------------- ----------
         1   x                           6
         2   x                           1
         3   x                           8
         4   x                           7
         5   x                           5
         6   x                           4
         7   x                          10
         8   x                           3
         9   x                           2
        10   x                           9
 
10 rows selected
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718536
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinsoftwarer,

Небольшое уточнение. Нужен конечный результат (пронумеровать проапдейченные записи)?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        ID DATA                          N
---------- -------------------- ----------
         1                      
         2   x                           1
         3                      
         4   x                           2
         5                      
         6   x                           3
         7                      
         8   x                           4
         9                      
        10   x                           5
 
10 rows selected
тут использована переменная пакета, т.е. нечто записывается в переменную и она живет во время жизни сессии
в MS SQL для этого надо будет как-то изощряться
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718542
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperтут использована переменная пакета, т.е. нечто записывается в переменную и она живет во время жизни сессии
в MS SQL для этого надо будет как-то изощряться
Насколько я понимаю, в MS SQL для этого будет достаточно локальной переменной в триггере.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718567
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperтут использована переменная пакета, т.е. нечто записывается в переменную и она живет во время жизни сессии
в MS SQL для этого надо будет как-то изощряться

А зачем?

Код: sql
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
USE tempdb
GO

CREATE TABLE T1(
ID int NOT NULL identity(1, 1),
DATA char(5) NULL,
N int NULL
)
GO

INSERT T1 DEFAULT VALUES
GO 10

CREATE TRIGGER UT_T1 ON T1 
FOR UPDATE
AS
IF TRIGGER_NESTLEVEL(@@procid) = 1 
WITH CTE(ID, RN)
AS
(
SELECT
  i.ID,
  ROW_NUMBER() OVER(ORDER BY i.ID) RN
FROM
  inserted i
)
UPDATE
  T
SET
  N = C.RN
FROM
  T1 T
  INNER JOIN CTE C ON
  T.ID = C.ID
GO

UPDATE T1 SET DATA = '  x  ' WHERE ID % 2 = 0
GO 
SELECT
  *
FROM
  T1
GO

DROP TABLE T1



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
ID          DATA  N
----------- ----- -----------
1           NULL  NULL
2             x   1
3           NULL  NULL
4             x   2
5           NULL  NULL
6             x   3
7           NULL  NULL
8             x   4
9           NULL  NULL
10            x   5

(10 row(s) affected)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718580
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerSergSuperтут использована переменная пакета, т.е. нечто записывается в переменную и она живет во время жизни сессии
в MS SQL для этого надо будет как-то изощряться
Насколько я понимаю, в MS SQL для этого будет достаточно локальной переменной в триггере.ну в частном случае можно
если функция get имела бы какую-то логику - то уже не так просто
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718581
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin, тут соль во втором примере из написанных мной. Я не знаю способа это сделать в MS, хотя и не собираюсь утверждать, что сделать нельзя.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718586
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperесли функция get имела бы какую-то логику - то уже не так просто
Логика функции get только в том, что каждое новое значение зависит от предыстории. Я не имел в виду хвалиться пакетами, это просто способ передать контекст между вызовами row level триггера.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718589
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinSergSuperтут использована переменная пакета, т.е. нечто записывается в переменную и она живет во время жизни сессии
в MS SQL для этого надо будет как-то изощряться

А зачем?

ну а если бы переменная не обнулялась и надо было бы считать сколько раз пользователь выполнил вызов функции?
например можно вести статистику сколько какой кусок кода работал времени
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718594
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerpkarklin, тут соль во втором примере из написанных мной. Я не знаю способа это сделать в MS, хотя и не собираюсь утверждать, что сделать нельзя.

Я подумаю, пока буду идти домой...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718605
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperнапример можно вести статистику сколько какой кусок кода работал времени

Гм... При необходимости веду такую статистику, фиксируя моменты отработку кода внутри хп\триггера в таблице AppLog. Триггер только не пойму здесь зачем и запоминание предыдущего значения?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718617
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinГм... При необходимости веду такую статистику, фиксируя моменты отработку кода внутри хп\триггера в таблице AppLog. с переменной-то и проще и быстрее

pkarklin Триггер только не пойму здесь зачем и запоминание предыдущего значения?я неправильно понял суть примера, softwarer хотел узнать как передавать данные между двумя триггерами на одной таблицу
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718654
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyApexпропущено...

Хотя нет, вру, во втором релизе допилили таки .
Ага. Т.е. кроме flashback database добавили еще и flashback table?
Нет, flashback table было и до этого. Просто раньше flashback table не умело откатывать DDL, поэтому нужно было откатывать всю базу целиком. А в 11.2 допилили.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718657
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apexlockyпропущено...

Ага. Т.е. кроме flashback database добавили еще и flashback table?
Нет, flashback table было и до этого. Просто раньше flashback table не умело откатывать DDL, поэтому нужно было откатывать всю базу целиком. А в 11.2 допилили.
Остается с нетерпением ждать flashback view, flashback procedure/function, flashback package
Ну и управления всей этой лабудой не только из rman, но и из pl/sql

ps и не только в EE, но и в SE1/XE
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718683
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyОстается с нетерпением ждать flashback view, flashback procedure/function, flashback package

И зачем ждать: в правильной СУБД это решается одним DDL триггером :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718686
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotlockyОстается с нетерпением ждать flashback view, flashback procedure/function, flashback package

И зачем ждать: в правильной СУБД это решается одним DDL триггером :)
??
пример - можно?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718755
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже если я напишу так:

Код: sql
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
USE tempdb
GO

CREATE TABLE T1(
ID int NOT NULL identity(1, 1),
DATA char(5) NULL,
N int NULL
)
GO

INSERT T1 DEFAULT VALUES
GO 10

CREATE TRIGGER UT_T1 ON T1 
FOR UPDATE
AS
DECLARE @i int
SET @i = 0
IF TRIGGER_NESTLEVEL(@@procid) = 1  
UPDATE
  T
SET
  @i = N = @i + 1
FROM
  T1 T
  INNER JOIN inserted i ON
  T.ID = i.ID
GO

UPDATE T SET DATA = '  x  ' FROM (SELECT TOP 100 PERCENT * FROM T1 ORDER BY NEWID()) T
GO 
SELECT
  *
FROM
  T1
GO

DROP TABLE T1



или даже курсор в триггере нарисую, результат (рандомная нумерация, заданная "снаружи") не будет достигнута. Проблема в том, что UPDATE в MS SQL не может быть "упорядочен снаружи" и этот порядок соблюден в триггере.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718787
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperкак передавать данные между двумя триггерами на одной таблицу

В MS SQL (не прибегая к доп. таблицам) это можно сделать через CONTEXT_INFO сессии. Но там всего 128 байт "места".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718881
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyпример - можно?

http://psoug.org/reference/ddl_trigger.html

На пальцах:
На BEFORE ALTER уровня базы данных тащишь метаданные объекта(ов) посредством DBMS_METADATA.GET_DDL и сохраняешь в журнале с датой.
Устриц ел, есличо.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718908
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Bigotlockyпример - можно?

http://psoug.org/reference/ddl_trigger.html

На пальцах:
На BEFORE ALTER уровня базы данных тащишь метаданные объекта(ов) посредством DBMS_METADATA.GET_DDL и сохраняешь в журнале с датой.
Устриц ел, есличо.
Ну, на безрыбьи - и так можно.
Хотя чем это отличается от "перед апргрейдом сделайте скрипт объектов, и в случае проблем - накатите старые варианты" - не вижу.
Геморное решение.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718956
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyХотя чем это отличается от "перед апргрейдом сделайте скрипт объектов, и в случае проблем - накатите старые варианты" - не вижу.
Это отличается автоматическим сохранением того объекта, который изменяется. БЕЗ чьего бы то ни было участия. Триггер не забудет забэкапить метаданные :)
В случае проблем - селект из журнала старых вариантов не заставит себя долго ждать ибо он в той же БД, в отличие от поиска заветного скрипта с объектами :)
Ну и ещё в логе видно, "а кто это сделал" и когда.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37718983
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSа оракл вообще с новыми релизами повышает уровень автоматизации дба'вских задач?

Да , вплодь до полного его( ДБА ) оптимизации.
Сам был свидетелем как оракловые продавцы, расскадывали высшему менеджменту.
как экзадата сокращает расходы , в том числе на ФОТ в ИТ .

Продавцы вы думайте что говрите,
хотя о чем базар, хоть на семинарах вместе чай кофе пьем , деньги то врозь.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719011
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotlockyХотя чем это отличается от "перед апргрейдом сделайте скрипт объектов, и в случае проблем - накатите старые варианты" - не вижу.
Это отличается автоматическим сохранением того объекта, который изменяется. БЕЗ чьего бы то ни было участия. Триггер не забудет забэкапить метаданные :)
В случае проблем - селект из журнала старых вариантов не заставит себя долго ждать ибо он в той же БД, в отличие от поиска заветного скрипта с объектами :)
Ну и ещё в логе видно, "а кто это сделал" и когда.
Ну да. только надо позаботится о том, чтобы триггер был, чтобы велись версии, чтобы все патчи умели работать с предыдущими версиями - находить их и накатывать, и всё такое....
А так да, удобно, чо.... :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719097
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyНу да. только надо позаботится о том, чтобы триггер был, чтобы велись версии, чтобы все
патчи умели работать с предыдущими версиями - находить их и накатывать, и всё такое....

Чорт, я действительно хочу видеть как эта хреновина окатит DROP TABLE...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719176
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovlockyНу да. только надо позаботится о том, чтобы триггер был, чтобы велись версии, чтобы все
патчи умели работать с предыдущими версиями - находить их и накатывать, и всё такое....

Чорт, я действительно хочу видеть как эта хреновина окатит DROP TABLE...
:) А DROP TABLE в Oracle откатывается вообще просто - FLASHBACK TABLE ... TO BEFORE DROP :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719222
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinDimitry Sibiryakovпропущено...

Чорт, я действительно хочу видеть как эта хреновина окатит DROP TABLE...
:) А DROP TABLE в Oracle откатывается вообще просто - FLASHBACK TABLE ... TO BEFORE DROP :)
Truncate?

вообще у меня складывается впечатление, что откат изменений при помощи flashback - довольно нетривиальная в общем случае задача.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719254
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander Ryndinпропущено...
:) А DROP TABLE в Oracle откатывается вообще просто - FLASHBACK TABLE ... TO BEFORE DROP :)
Truncate?

вообще у меня складывается впечатление, что откат изменений при помощи flashback - довольно нетривиальная в общем случае задача.
Этот функционал задумывался как средство исправления логических ошибок, когда что-то нечаянно удалили и закомитили, дропнули и т.д. Это не тоже самое, что и откат транзакции как в MS SQL, flashback сама является DDL-операцией.
Я не разделяю вашего настойчивого желания иметь такую функцию в СУБД, но я так же не разделяю оптимизм Оракловых коллег по цеху в том, что flashback тоже самое что и откат в MS SQL.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719356
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL BigotВ случае проблем - селект из журнала старых вариантов не заставит себя долго ждать ибо он в той же БД, в отличие от поиска заветного скрипта с объектами :)

И чем мне поможет старый вариант, если мне надо откатить добавление поля в таблицу?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719393
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexЯ не разделяю вашего настойчивого желания иметь такую функцию в СУБД, но я так же не разделяю оптимизм Оракловых коллег по цеху в том, что flashback тоже самое что и откат в MS SQL.Конечно она не аналогична.

Накатка патчей на приложение делается во время останова.
Если что-то пошло не так, то flashback database позволит откатить всю базу к моменту до накатки патча.

Но лично я не встречал таких безмозглых разработчиков, которые бы дали ненакатывающийся патч.
Проблемы обычно появляется через 1-1,5 после окончания останова и это проблемы производительности.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719395
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander Ryndinпропущено...
:) А DROP TABLE в Oracle откатывается вообще просто - FLASHBACK TABLE ... TO BEFORE DROP :)
Truncate?

вообще у меня складывается впечатление, что откат изменений при помощи flashback - довольно нетривиальная в общем случае задача.Truncate она на то и truncate чтобы не откатываться. Хотите откатывающийся truncate - пользуйтесь delete
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719420
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinTruncate она на то и truncate чтобы не откатываться. Хотите откатывающийся truncate - пользуйтесь delete

Это с какого пуркуа?

Код: sql
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.
26.
27.
28.
29.
30.
31.
32.
33.
USE tempdb
GO

CREATE TABLE T1(
ID int NOT NULL identity(1, 1),
DATA char(5) NULL,
N int NULL
)
GO

INSERT T1 DEFAULT VALUES
GO 10

BEGIN TRAN

TRUNCATE TABLE T1

SELECT
  *
FROM
  T1

ROLLBACK

GO 

SELECT
  *
FROM
  T1
GO

DROP TABLE T1



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
ID          DATA  N
----------- ----- -----------

(0 row(s) affected)



ID          DATA  N
----------- ----- -----------
1           NULL  NULL
2           NULL  NULL
3           NULL  NULL
4           NULL  NULL
5           NULL  NULL
6           NULL  NULL
7           NULL  NULL
8           NULL  NULL
9           NULL  NULL
10          NULL  NULL

(10 row(s) affected)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719440
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Естественно я говорил для Oracle. А где в MSSQL хранятся данные между TRUNCATE и COMMIT?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719443
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinА где в MSSQL хранятся данные между TRUNCATE и COMMIT?

Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719452
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Стоп. Откуда берутся данные, когда я набираю ROLLBACK? Обычно они берутся (насколько я знаю MSSQL из tempdb - поправьте, если ошибаюсь)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719457
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinОткуда берутся данные, когда я набираю ROLLBACK? Обычно они берутся (насколько я знаю MSSQL из tempdb - поправьте, если ошибаюсь)

Никогда они из tempdb не брались.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719463
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndin,

Возможно о tempdb Вы слышали в контексте хранения версий (начиная с 2005 версии). Но не они используются для отката (и наката) транзакций.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719589
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin,

А что используется?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719695
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptА что используется?

Прошу прощения... Используется для чего?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719748
pt12pt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinpt12ptА что используется?

Прошу прощения... Используется для чего?
Где MS SQL Server берет данные для отката, Александр предположил, что они берутся из темпдб, так как она хранит версии строк (в случае режима работы как версионника), Вы ответили, что это неверно. Так вот в чем вопрос где он берет данные для отката. Например в том же Оракле есть UNDO для этого если не ошибаюсь.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719767
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinAlexander RyndinА где в MSSQL хранятся данные между TRUNCATE и COMMIT?

Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE.а за счет чего тогда delete генерит больше лога чем truncate? Судя по вашему описанию они работают одинаково. А если я таблицу дропну она тоже вся в журнал свалится? Дорогое удовольствие
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719813
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinpkarklinпропущено...


Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE.а за счет чего тогда delete генерит больше лога чем truncate? Судя по вашему описанию они работают одинаково. А если я таблицу дропну она тоже вся в журнал свалится? Дорогое удовольствие
Неа-а. Операция дропанья таблицы затрагивает меньше страниц, чем операция delete
Это "недорогая" операция
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719817
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinНо лично я не встречал таких безмозглых разработчиков, которые бы дали ненакатывающийся патч.

А в моем уютном мире живут пони. Они кушают бабочек.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719818
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinа за счет чего тогда delete генерит больше лога чем truncate?
Вопрос - можно ли после truncate/commit откатиться к точке по времени и восстановить данные. Если нет - понятно, за счёт чего.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719824
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pt12ptГде MS SQL Server берет данные для отката, Александр предположил, что они берутся из темпдб, так как она хранит версии строк (в случае режима работы как версионника), Вы ответили, что это неверно. Так вот в чем вопрос где он берет данные для отката. Например в том же Оракле есть UNDO для этого если не ошибаюсь.

The Transaction Log
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719826
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander Ryndinпропущено...
а за счет чего тогда delete генерит больше лога чем truncate? Судя по вашему описанию они работают одинаково. А если я таблицу дропну она тоже вся в журнал свалится? Дорогое удовольствие
Неа-а. Операция дропанья таблицы затрагивает меньше страниц, чем операция delete
Это "недорогая" операциятак объясните почему? Для отката дропа и транкейта нужно чтобы вся таблица свалилась в лог? Или я что то не понимаю?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719833
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinДля отката дропа и транкейта нужно чтобы вся таблица свалилась в лог?
Да нет. Если не ставить задачу "откатить после коммита", то хватит, чтобы свалились модифицированные заголовки, всё равно пока нет коммита, на таблице эксклюзивная блокировка и никто не испортит данных в ней.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719836
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander RyndinНо лично я не встречал таких безмозглых разработчиков, которые бы дали ненакатывающийся патч.

А в моем уютном мире живут пони. Они кушают бабочек.где вы ЭТО купили? )))
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719843
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinа за счет чего тогда delete генерит больше лога чем truncate? Судя по вашему описанию они работают одинаково.

The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row . TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log.

Alexander RyndinА если я таблицу дропну она тоже вся в журнал свалится? Дорогое удовольствие

А как же иначе, если Вы хотите восстановиться на момент "до DROP". М.б. будет интересно: Dropping and Rebuilding Large Objects
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719866
SQL Bigot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov DROP TABLE...

Заодно подумай, как то же самое сделает бэкапный скрипт :) и что мешает заставить триггер "бэкапить" то же самое, что и в скрипте.

PS:Речь, напомню, изначально шла о flashback'e пакетов, функций, триггеров.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719878
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerAlexander RyndinДля отката дропа и транкейта нужно чтобы вся таблица свалилась в лог?
Да нет. Если не ставить задачу "откатить после коммита", то хватит, чтобы свалились модифицированные заголовки, всё равно пока нет коммита, на таблице эксклюзивная блокировка и никто не испортит данных в ней.О. Это мне понятно.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719890
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinAlexander Ryndinа за счет чего тогда delete генерит больше лога чем truncate? Судя по вашему описанию они работают одинаково.The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row . TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log. Че-то вы себе противоречите
pkarklinAlexander RyndinА где в MSSQL хранятся данные между TRUNCATE и COMMIT?Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE.Думаю, что объяснение softwarer наиболее логично: данные между TRUNCATE и COMMIT продолжают храниться в таблице данных. По крайней мере это логично.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719893
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinlockyпропущено...

А в моем уютном мире живут пони. Они кушают бабочек.где вы ЭТО купили? )))
В том же магазине, где вы покупаете девелоперов, которые не делают ошибок и системы, которые не глючат
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719902
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinpkarklinпропущено...
The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row . TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log. Че-то вы себе противоречите
pkarklinпропущено...
Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE.Думаю, что объяснение softwarer наиболее логично: данные между TRUNCATE и COMMIT продолжают храниться в таблице данных. По крайней мере это логично.
Брррр..... где противоречия? :)
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719903
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyAlexander Ryndinпропущено...
где вы ЭТО купили? )))
В том же магазине, где вы покупаете девелоперов, которые не делают ошибок и системы, которые не глючатДевелоперы делают ошибки, но DDL операции это то, что должно быть оттестировано тщательнейшим образом.
А то ведь так они и DROP TABLE ORDERS засунут и никто им не помешает в конце COMMIT сказать.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719906
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinlockyпропущено...

В том же магазине, где вы покупаете девелоперов, которые не делают ошибок и системы, которые не глючатДевелоперы делают ошибки, но DDL операции это то, что должно быть оттестировано тщательнейшим образом.
А то ведь так они и DROP TABLE ORDERS засунут и никто им не помешает в конце COMMIT сказать.

Любые операции в/с БД должны быть оттестированы тщательнейшим образом. И ошибок не должно возникать
Однако почему-то rollback есть во всех "не децких" СУБД. Почему так?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719916
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinЧе-то вы себе противоречите...

Интересно, в чем Вы нашли противоречие?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719926
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyи чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?
Тем, что первое не даёт никакого ответа на вопрос "как при этом обеспечивается корректность при различных сценариях", а второе содержит отвечающие на него гипотезы.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719927
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyБрррр..... где противоречия? :)
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?- Я спросил: делаю TRUNCATE. Где после этого лежат данные, которые нужны мне для ROLLBACK.
- pkarklin сказал: Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE..
- а потом он же говорит: TRUNCATE TABLE... records only the page deallocations in the transaction log.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719930
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndin,

М.б. следующее пройлет свет. Так Покритикуйте Оракл 10г в лог пишутся СUD операции. При TRUNCATE в лог будут записаны "копии" страниц данных (по 8к на страницу), а не детальная информация о каждой удаленной записи. Где будет меньше информации?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719932
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinlockyБрррр..... где противоречия? :)
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?- Я спросил: делаю TRUNCATE. Где после этого лежат данные, которые нужны мне для ROLLBACK.
- pkarklin сказал: Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE..
- а потом он же говорит: TRUNCATE TABLE... records only the page deallocations in the transaction log.
Ну да, а что тут непонятного то?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719934
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerlockyи чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?
Тем, что первое не даёт никакого ответа на вопрос "как при этом обеспечивается корректность при различных сценариях", а второе содержит отвечающие на него гипотезы.
Как по мне, так всё предельно понятно
Другое дело, что я как бы в этой теме разбираюсь чуть лучше, чем "человек со стороны", может поэтому и понятно :)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719937
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinПри TRUNCATE в лог будут записаны "копии" страниц данных
Это в MSSQL так?

pkarklinа не детальная информация о каждой удаленной записи. Где будет меньше информации?
Зависит от размера записи. В целом примерно одинаково.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719942
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЭто в MSSQL так?

Так. При полной модели восстановления. Как в противном случае восстановить бд из бэкапа на момент "до TRUNCATE"?

softwarerВ целом примерно одинаково.

М.б. я чуть позже найду время еще раз прибегнуть к помощи DBCC LOG...
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719949
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinПри TRUNCATE в лог будут записаны "копии" страниц данныхТ.е. моя 100 Гб табличка вместе со всеми индексами ухнется целиком в лог? Прелестно.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719953
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinТак. При полной модели восстановления. Как в противном случае восстановить бд из бэкапа на момент "до TRUNCATE" ?

Возможно такой процесс будет понятней: "на момент между двумя TRUNCATE разных таблиц".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719955
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinpkarklinТак. При полной модели восстановления. Как в противном случае восстановить бд из бэкапа на момент "до TRUNCATE" ?

Возможно такой процесс будет понятней: "на момент между двумя TRUNCATE разных таблиц".а потом что эта информация из лога удаляется?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719960
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinТ.е. моя 100 Гб табличка вместе со всеми индексами ухнется целиком в лог? Прелестно.

При полной модели восстановления - да. Вы же не зря эту модель выбрали (из трех возможных). А выбирают ее, если необходимо восстановление point in time.

Я Вам даже больше скажу. В лог, например, пишется информация об измененных страницах при

Код: sql
1.
ALTER INDEX ... REBUILD



и я могу восстановиться на момент "до ребилда индекса".
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719961
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinВозможно такой процесс будет понятней: "на момент между двумя TRUNCATE разных таблиц".а потом что эта информация из лога удаляется?[/quot]пропустите этот коммент - я думал он к другому относится
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719968
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinа потом что эта информация из лога удаляется?

Потом делается бэкап лога (для последующего восстановления в случае необходимости). При этом то, что попало в бэкап из файла лога удаляется (обращаю внимание, что это объяснение на пальцах). Если кому интересно, могу дать линк на архитектуру лога транзакций MS SQL.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37719972
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinКак в противном случае восстановить бд из бэкапа на момент "до TRUNCATE"?
С другой стороны не очень понятно, зачем нужен такой truncate.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720013
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerС другой стороны не очень понятно, зачем нужен такой truncate.

Он мог быть сделан случайно\преднамеренно.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720047
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinОн мог быть сделан случайно\преднамеренно.
Я имею в виду - зачем нужен truncate с такой гигантской выполняемой работой.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720244
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЯ имею в виду - зачем нужен truncate с такой гигантской выполняемой работой.

pkarklinМ.б. я чуть позже найду время еще раз прибегнуть к помощи DBCC LOG...


Так... На счет "копий" при TRUNCATE я был не прав и ввел Вас в заблуждение. Действительно, зачем создавать копии страниц (если рассматривать процесс восстановления на момент до TRUNCATE и на момент после), если на момент до TRUNCATE данные будут накачены из имеющихся в логе DML инструкций, а на момент после, страницы, занимаемые таблицей надо просто пометить как свободные.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720660
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinНо лично я не встречал таких безмозглых разработчиков, которые бы дали ненакатывающийся патч.

Это говорит лишь о том, что тебе везло. Буквально вчера индус прислал мне неправильный скрипт, который мы успешно прогнали в проде. Через 10 минут он проверил и выдал: скрипт ошибочный, откатывайте все назад. Проблема в том, что конкретно для этого деплоймента никакого останова базы не делалось (такое часто бывает, если изменения затрагивают небольшую часть базы). Базу останавливать ради этого никто не дал, ровно как и откатывать ее, т.к. остальные части приложения не пострадали и работали в штатном режиме. Пришлось восстанавливать базу из бэкапа в сторонке и вытаскивать данные оттуда руками. Хотя казалось бы тестирование, процессы, Омерика, хуе-мое..

Хотя конечно это все не имеет никакого отношения к ролбэку DDL, в этой ситуации он тоже ничем не мопог бы.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720675
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinТак... На счет "копий" при TRUNCATE я был не прав и ввел Вас в заблуждение.
Deja Vu...

Павел, мы уже с вами это проходили несколько лет назад, что-то у вас какие-то периодические проблемы с пониманием того, как работает ваш любимый сервер Без обид:)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720681
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerpkarklinОн мог быть сделан случайно\преднамеренно.
Я имею в виду - зачем нужен truncate с такой гигантской выполняемой работой.
На самом деле там все примерно как в Оракле, т.е. страницы данных помечаются как незанятые и только эта информация пишется к лог.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720722
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexpkarklinТак... На счет "копий" при TRUNCATE я был не прав и ввел Вас в заблуждение.
Deja Vu...

Павел, мы уже с вами это проходили несколько лет назад, что-то у вас какие-то периодические проблемы с пониманием того, как работает ваш любимый сервер Без обид:)это не только у него. Это и у локи. Наверное, проф. заболевмние
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720819
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinА возмосжность объединять ддл в транзакции считаю полезной фичей. Тем более стоят они судя по всему недорого. Хотя я никогда и не испытывад в них потребность
Оракл в десятке начал внедрять такую фичу, но энтузиазм как-то не получил продолжения.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720829
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пкарклин, восстановление данных после транкейта - фантастика какая-то. Впринципе эта операция не подлежит откату, на то он и транкейт. Но у тебя в скрипте вышло, что оно откатило, что крайне удивительно, по крайней мере это не задокументировано в справке. а если после транкейта в твоем скрипте напихать в табличку чего-то другого и тогда лишь сделать роллбэк? что будет?
Я просто предполагаю, что роллбэк после транкейта помечает удаленные страницы снова как активные, но эта схема не сработает, если страницы уже были заняты чем-то другим. В любом случае я такое не видел еще нигде.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720841
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так,можно не отвечать,разобрался. Таки мсскл помечает освобожденные страницы при транкейте и держит на них блокировку до конца транзакции, так что никтоне может в них писать. После коммита транкейт уже необратим. Интересная фича у мсскл, не знал. Спасибо за инфу.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720862
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldтак,можно не отвечать,разобрался. Таки мсскл помечает освобожденные страницы при транкейте и держит на них блокировку до конца транзакции, так что никтоне может в них писать. После коммита транкейт уже необратим. Интересная фича у мсскл, не знал. Спасибо за инфу.
После коммита вообще ничто не обратимо.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720865
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinApexпропущено...

Deja Vu...

Павел, мы уже с вами это проходили несколько лет назад, что-то у вас какие-то периодические проблемы с пониманием того, как работает ваш любимый сервер Без обид:)это не только у него. Это и у локи. Наверное, проф. заболевмние
Да ну?
Увы, не надо выдавать тот факт, что я не преподаватель младших классов и не в состоянии на пальцах и в двух словах рассказать далёкому от темы человеку (причем так, чтобы оный человек понял) за утверждение, что у меня "проблемы с пониманием" или, тем более, ставить мне диагноз насчет проф. заболеваний. Если, разумеется, вы не мой личный доктор. В чем я сильно сомневаюсь.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720887
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky,

Вот это не вы говорили 12301251 ? Именно эту ошибку признал pkarklin, а вы до сих пор разницы не видите. Ну да ладно - нет смысла спорить.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37720900
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinlocky,

Вот это не вы говорили 12301251 ? Именно эту ошибку признал pkarklin, а вы до сих пор разницы не видите. Ну да ладно - нет смысла спорить.

Вот павел "ошибся"
"TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log. "
А вот "признал ошибку" (и вроде все с ним согласились)
12302741

авторТак... На счет "копий" при TRUNCATE я был не прав и ввел Вас в заблуждение. Действительно, зачем создавать копии страниц (если рассматривать процесс восстановления на момент до TRUNCATE и на момент после), если на момент до TRUNCATE данные будут накачены из имеющихся в логе DML инструкций, а на момент после, страницы, занимаемые таблицей надо просто пометить как свободные.

Вам перевести, что значит "deallocating the data pages" - или сами справитесь, со словарём?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37721340
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apexу вас какие-то периодические проблемы с пониманием того, как работает ваш любимый сервер

Я знаю только то, что ничего не знаю. ((c) Сократ)
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37870678
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexЭто говорит лишь о том, что тебе везло. Буквально вчера индус прислал мне неправильный скрипт, который мы успешно прогнали в проде. Через 10 минут он проверил и выдал: скрипт ошибочный, откатывайте все назад. Проблема в том, что конкретно для этого деплоймента никакого останова базы не делалось (такое часто бывает, если изменения затрагивают небольшую часть базы). Базу останавливать ради этого никто не дал, ровно как и откатывать ее, т.к. остальные части приложения не пострадали и работали в штатном режиме. Пришлось восстанавливать базу из бэкапа в сторонке и вытаскивать данные оттуда руками. Хотя казалось бы тестирование, процессы, Омерика, хуе-мое..

Хотя конечно это все не имеет никакого отношения к ролбэку DDL, в этой ситуации он тоже ничем не мопог бы.

Извини, но запускать на проде что-то, что не прошло проверку на тесте - прямой путь на увольнение. И не помогут рассказы о тупом индусе, написавшем кривой скрипт, сам должен думать.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37875709
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgenИзвини, но запускать на проде что-то, что не прошло проверку на тесте - прямой путь на увольнение. И не помогут рассказы о тупом индусе, написавшем кривой скрипт, сам должен думать.
Логические ошибки вылавливать, ровно как и что-то тестировать - не моя работа. Процесс построен так: присылают скрипт, менеджер дает апрув, я запускаю.
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37875735
флэш-бэк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ApexflexgenИзвини, но запускать на проде что-то, что не прошло проверку на тесте - прямой путь на увольнение. И не помогут рассказы о тупом индусе, написавшем кривой скрипт, сам должен думать.
Логические ошибки вылавливать, ровно как и что-то тестировать - не моя работа. Процесс построен так: присылают скрипт, менеджер дает апрув, я запускаю.
А почему не сделали вытаскивание данных через флэш-бэк запросы?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37875762
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
флэш-бэкApexпропущено...

Логические ошибки вылавливать, ровно как и что-то тестировать - не моя работа. Процесс построен так: присылают скрипт, менеджер дает апрув, я запускаю.
А почему не сделали вытаскивание данных через флэш-бэк запросы?
ORA-01555
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37877322
флэш-бэк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Apexфлэш-бэкпропущено...

А почему не сделали вытаскивание данных через флэш-бэк запросы?
ORA-01555
Apex Через 10 минут он проверил и выдал: скрипт ошибочный, откатывайте все назад .
Хм, за 10 минут, сэкономили на undo?
...
Рейтинг: 0 / 0
Чем MS SQL Server хуже Oracle Database?
    #37878940
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
флэш-бэкApexпропущено...

ORA-01555
Apex Через 10 минут он проверил и выдал: скрипт ошибочный, откатывайте все назад .
Хм, за 10 минут, сэкономили на undo?
Ну, что я тебе должен ответить?:) Факапнулись.
...
Рейтинг: 0 / 0
271 сообщений из 271, показаны все 11 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Чем MS SQL Server хуже Oracle Database?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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