Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidБолее одного select for update за транзакцию - потенциальный DEADLOCK. Если Вы его не получали - проведите более качественное нагрузочное тестирование. Хм. Уважаемый, я верю, что Вы хороший джавер (поскольку моей квалификации не хватит, чтобы это проверить), но судя по всему Вы уже второй раз выступаете с резкими утверждениями в той области, в которой, назовем так, быстрообучились. У меня есть пример крупного production, в котором, когда случился не deadlock - нет, просто ожидание на блокировке - на моих глазах админ подпрыгнул (это было ЧП), нашел, что блокировка есть следствие кривых рук человека, руками полезшего в базу, позвонил ему и вставил более чем адекватный пистон. Вы, конечно, можете считать реальную работу недостаточно качественным нагрузочным тестированием. В чем-то соглашусь; можно будет добиться, что блокировки будут случаться не раз в год, а раз в месяц. DarkSquidНе отчетами едиными жив человек. Если Вы хотите подключиться к текущей ветке обсуждения - пожалуйста, соблюдайте ее контекст. Если хотите начать новую ветку - пожалуйста, сформулируйте явно, какую именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 10:07 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquid таких как SELECT FOR UPDATE или INSERT в таблицу с уникальным индексом, то это потенциальный DEADLOCK. select for update no wait а как insert в табличку с уникальным индексом может вызвать дедлок? нельзя ли подробнее, я честно не понял - и не разу не сталкивался. DarkSquidБлокировки производятся не для того, чтобы мешать всяким отчётникам, а для того, чтобы обеспечить совместную работу пользователей по модификации данных. спасибо за информацию :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 10:13 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
StalkerS2 softwarer Я бы попросил не приводить мои топики в пример "недоброжелательных к Oracle", ибо при всем уважении к вам, это неправда. Вот чего в них нет - это недоброжелательности. Цитирую из стартового письма Вашего топика: StalkerSЗа такие слова, хочется взять уважаемого господина Кайта и постучать его головой об стенку. Может, конечно, это форма выражения доброжелательности :-) StalkerSЗато сколько г. выливается в ответ - просто умопомрачительно. А вот постов в виде "оракл дерьмо, и на нем работают одни дауны, не способные раздвинуть горизонты своего интеллекта" - буквально единицы. Что объясняется очень просто: каждый человек очень хорошо помнит пролетевшую рядом какашку, а все брошенные в том же направлении считает справедливым ответом, не входящим в понятие "кидаться дерьмом". Давайте так: лично я не готов потратить время на детальный, по сообщениям, подсчет того, кто, когда и сколько кидал. Мой оппонент взял пару топиков, созданных, похоже, одним автором, к тому же серым, и попросил привести аналоги. Я привел, выбрав из старых те, где был флейм при практически полном отсутствии конструктива. StalkerS И собственно, ответ на него тоже довольно очевидный. Дальше началось психоложество. Поясняю: этим термином я называю рассуждения не профессионалов-психологов о мотивах, потаенных мыслях и прочих деталях психологии других людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 10:19 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidЭскалация - это увеличение количества блокируемых объектов. Интересная мысль. Я всегда полагал, что это уменьшение гранулярности блокировки. DarkSquidЕсли у Вас в транзакции более двух блокирующих операций, таких как SELECT FOR UPDATE или INSERT в таблицу с уникальным индексом, то это потенциальный DEADLOCK. Блокировки производятся не для того, чтобы мешать всяким отчётникам, а для того, чтобы обеспечить совместную работу пользователей по модификации данных. Хм. А эскалация - это, видимо, лечение deadlock-ов методом Касперского . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 10:26 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
softwarer Может, конечно, это форма выражения доброжелательности :-) Кайт и Оракл - 2 разные вещи. softwarer каждый человек очень хорошо помнит пролетевшую рядом какашку, а все брошенные в том же направлении считает ... тоже психоложество. У меня есть друг, по профессии - психиатр, при случае попытаюсь узнать причины у профессионала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 11:29 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidА между тем блокировки сами по себе очень нужны. ... Не любя блокировочники ораклисты никогда не должны забывать о блокировках. А расставляя блокировки вручную легко получить деадлок, к примеру, по первости, если в ходе транзакции потребуется эскалировать блокировки. Мда, чувствуется Глыбокое владение предметом Травой дело не обошлось, такой эффект может дать только кислота ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 12:16 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Дикий БиллЩас наверняка посыпятся оскорбления... Но все-таки. Если один пользователь изменяет данные, для другого они должны быть заблокированы? Вы просто не в курсе, вопреки мнению отдельных правозащитников MS SQL В Oracle ЕСТЬ блокировки Чего в нем нет, так это НЕНУЖНОГО блокирования читающих пишущим и наоборот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 12:19 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidЭскалация - это увеличение количества блокируемых объектов. Если у Вас в транзакции более двух блокирующих операций, таких как SELECT FOR UPDATE или INSERT в таблицу с уникальным индексом, то это потенциальный DEADLOCK. Блокировки производятся не для того, чтобы мешать всяким отчётникам, а для того, чтобы обеспечить совместную работу пользователей по модификации данных. Опять проецируем свои богатые познания в MS SQL на малознакомый (и потому малопонятный) Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 12:23 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
StalkerS softwarer Может, конечно, это форма выражения доброжелательности :-) Кайт и Оракл - 2 разные вещи. Очень грубо, тем более Кайт в упомянутом посте был СОВЕРШЕННО прав. То как Вы его поняли - Ваша проблема. Побейтесь головой об стену сами плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 12:28 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
StalkerSКайт и Оракл - 2 разные вещи. В чем-то так. Но случилось так, что связали их именно Вы, создав топик со словом "Oracle", написав внутри в том числе про Oracle, и закончив примерно следующим: "я ни хрена не понял написанное вице-президентом Oracle (или кто он там), а потому хочу проявить к нему недружественность". StalkerS softwarer каждый человек очень хорошо помнит пролетевшую рядом какашку, а все брошенные в том же направлении считает ... тоже психоложество. Безусловно. StalkerSУ меня есть друг, по профессии - психиатр, при случае попытаюсь узнать причины у профессионала Поддерживаю. Хотя по моим представлениям, серьезный профессионал вряд ли поставит заочный диагноз большой и абсолютно неизвестной ему группе разнородных лиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:18 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Опять проецируем свои богатые познания в MS SQL на малознакомый (и потому малопонятный) Oracle Вообще-то я под Ораклом с 2000 года пишу с перервывом на два года на MS SQL. Так что познаний у меня и там и там не много - 3 года оракла и 2 MS SQL. Но в последнее время (после MS SQL) понял, что многие вещи делал неправильно. Причём не только я, но все так делали - на первом моём месте работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:25 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Дикий БиллЩас наверняка посыпятся оскорбления... Но все-таки. Если один пользователь изменяет данные, для другого они должны быть заблокированы? Зачем? Прошу расценивать это не как прикол/ придирку /т.п. а как теоретический вопрос. Блокировки (по теории) позволяют избежать некоторых проблем... (описание RTFM). Дикий БиллЕсли для другого пользователя своя версия данных, то это уже не достоверные данные? К примеру оди формирует отчет, но в это время второй именил данные (стоимость там какую-нибудь) тогда ведь отчет будет неверный?Нет данные остаются ВЕРНЫМИ , но на момент времени НАЧАЛА построения отчета. При блокировке (возможно и по другому) отчет ждет завершения блокировки и является верным на момент времени ОКОНЧАНИЯ блокирования. ЗЫ сам работаю больше с MS SQL, поэтому о проблемах версионности данных ничего не могу сказать. ---- SAnalis.ru - Just for fun. Еще расту, а так я ДЖИП! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:30 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidВообще-то я под Ораклом с 2000 года пишу с перервывом на два года на MS SQL. Так что познаний у меня и там и там не много - 3 года оракла и 2 MS SQL. Но в последнее время (после MS SQL) понял, что многие вещи делал неправильно. Причём не только я, но все так делали - на первом моём месте работы.У них принципиально разные методы правильного программирования. Общаясь с Oracl'истами почерпнул, что для них нормально при обработке данных использовать курсоры. MS SQL наверное на этом умрет С другой стороны по Кайту (и не только) на Оракле нужно применять связанные переменные, MS SQL не озависит от этого. Хотя тестов не устраивал ---- SAnalis.ru - Just for fun. Еще расту, а так я ДЖИП! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:34 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidНо в последнее время (после MS SQL) понял, что многие вещи делал неправильно. Причём не только я, но все так делали - на первом моём месте работы. Это безусловно похвально. Только, ПРИ ЧЕМ ТУТ Oracle ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:39 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
VoDA MS SQL не озависит от этого. Хотя тестов не устраивал Просто менее болезненно реагирует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:40 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Блокировки нужны для согласованного изменения данных несколькими транзакциями, которые могут вносить изменения в базу на основе её текущего состояния. Больше они не для чего не нужны. То есть если в транзакции есть IF, в который подставляются данные из какого-либо селекта, то именно эти данные должны быть заблокированы. Хочу особо отметить, что для отчётов они не нужны, здесь спорить трудно с кем-либо из ораклистов. Каждую транзакцию можно представить в виде хранимой процедуры P(A,B), где A - данные из базы, а B - данные, переданные пользователем. Так вот A и B должны быть константой, либо меняться исключительно внутри P, иначе результат совместной работы двух процедур будет непредсказуем. P.S. Всё вышенаписанное было написано, чтобы не обсуждать больше вопрос о необходимости блокировок для построения отчётов. Кто может - пусть напишет понятней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:41 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidБлокировки нужны для согласованного изменения данных несколькими транзакциями, которые могут вносить изменения в базу на основе её текущего состояния. Больше они не для чего не нужны. То есть если в транзакции есть IF, в который подставляются данные из какого-либо селекта, то именно эти данные должны быть заблокированы. С учетом версионности, из первого НЕ СЛЕДУЕТ второе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:43 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Это безусловно похвально. Только, ПРИ ЧЕМ ТУТ Oracle ??? Дело в том, что именно ораклисты многие вообще не думают о том, стоит ли блокировать данные или нет. А думать об этом надо при написании каждой хранимой процедуры. Это не на Oracle наезд. Это как-бы призыв не забывать о блокировках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:43 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Извините, не думаю, что Вы общались с достаточным количеством "ораклистов", чтобы делать столь громкие и глобальные выводы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:47 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)С учетом версионности, из первого НЕ СЛЕДУЕТ второе. Именно из-за версионности следует необходимость блокировки самим программистом данных, используемых для управления модификацией данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:49 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquidИменно из-за версионности следует необходимость блокировки самим программистом данных, используемых для управления модификацией данных.Приведите пример плз, а то я лично не вижу связи между версионностью и необходимостью блокировать данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:50 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
DarkSquid Gluk (Kazan)С учетом версионности, из первого НЕ СЛЕДУЕТ второе. Именно из-за версионности следует необходимость блокировки самим программистом данных, используемых для управления модификацией данных. Тоже не вижу связи. Если Вы смутно понимаете какую-то концепцию, это не повод призывать всех остальных делать это через ж... Ничего личного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 15:55 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Vadim_MaximovПриведите пример плз, а то я лично не вижу связи между версионностью и необходимостью блокировать данные. Ничего, что я без кода? Пусть есть условие - тип документа имеет не более 6 дополнительных форматов просмотра. Первая транзакция проверяет условие и назначает документу один формат Вторая транзакция вставленного формата не видит, проверяет условие и назначает ещё один формат. Третья транзакция вставленных форматов не видит, проверяет условие и назначает ещё один формат. Десятая транзакция работает со своим снимком (до коммита) и назначает ещё один формат. Все честно отработали и сделали фиксацию изменений. В результате имеем 15 дополнительных форматов вместо 6, потому что произошли несогласованные (между транзакциями) изменения данных. Произошло это по двум причинам:- 1. Версионность 2. Игнорирование программистом необходимости блокировать данные, принимающие участие в IF-ах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 16:01 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Пока вижу только бардак в плане постановки задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 16:22 |
|
||
|
Почему ораклисты так не любят MS SQL?
|
|||
|---|---|---|---|
|
#18+
Кстати, есть такая недокументированная фича SKIP LOCKED, как раз для вашего случая. Т.е. даже в столь идиотской постановке задачу можно решить вменяемым образом и без просадок по производительности. Будьте добры обрисовать задачу более подробно можно без кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 16:25 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33377000&tid=1553678]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 186ms |
| total: | 347ms |

| 0 / 0 |
