Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
И с каких пор примеры Ваших "недо-запросов", выдающих кривые (с точки зрения поставленной и обсуждаемой задачи) результаты стали "реальными"?!

А вы наверное всегда пишите супер код и ваши запросы всегда выдают правильные данные. Даже если исходные данные направильные. А вокруг скачут розовые пони.
8 авг 14, 11:18    [16415994]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
ЗЫ. "И эти люди запрещают мне ковыряться в носу!" (с)

Вот вам реальная задача
Источник данных доступен только с 2х часов ночи
Загрузка должна быть завершена до 3х часов ночи
MERGE работает 30 минут
I/U/D работают 45 минут

В 2:29 MERGE и I/U/D падают с ошибкой нарушения уникальности.
Вопрос - какой из методов имеет больший шанс закочить загрузку до 3х часов ?
8 авг 14, 11:24    [16416050]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
Это Вы (почему-то) всех убеждаете, что при соединении по первичным/уникальным ключам "внезапно" (с) появляются дубликаты...

Это вы не читаете ответы.
И свято убеждены, что наличие ключа в таблице почему то гарантирует наличие клбюча в результатах запроса
Учите SQL - "и будет Вам счастье" (с)
Работать с данными не имея ни малейшего представления о их структуре и взаимосвязях - верх идиотизма.
Glory
sphinx_mv
Если эти некоторые "другие" в конкретно описанных условиях для конкретной задачи с конкретно указанными требованиями оказываются не способны написать правильный запрос, возвращающий правильные результаты - почему Вы решили, что это моя проблема?!

Охренеть.
Вы наверное настолько круты, что все админы всех других серверов вам дают все права на все таблицы.А не урезенные права на какое-то представление
Прекращайте изображать ужа на раскаленной сковородке! Это, как минимум, не солидно - у Вас таблицы в предстваления "внезапно" (с) трансформировались...
А даже если и так... Разве замена таблиц на "представления с ограниченными правами" отменяет необходимость знания их структуры и взаимосвязей? Так и хочется ("сугубо для истории") записать, что Вы пишете запросы неизвестно КАК неизвестно ИЗ чего и неизвестно ДЛЯ чего... При этом (почему-то) умудряетесь предъявлять претензии на получение плохо понятных Вам и трудно объяснимых с Вашей точки зрения результатов.

К тому же, если в реальном мире реальная задача того требует, получить ЛЮБЫЕ права на "голые" таблицы не составляет проблемы - отношение к раздаче прав для "автоматов" (а это как раз такая задача) несколько отличаются от раздачи прав для "живых" пользователей.
Glory
Если источник предоставлет данные только в 2 часа ночи, а загрузка должна быть завершена до 3х часов ночи, то я никогда не выберу MERGE. Потому, что с каждой минутой после 2х, чем меньше действий для восстановления загрузки нужно будет произвести при сбое, тем лучше. И никакие накопленные за предудущие успешные запуски минуты тут не помогут. Если ваш MERGE упал в 2-45 на последней записи последнего DELETE, то фиг он успеет до 3х часов загрузить все. А вот мой отдельный DELETE может и успеет.
Вы можете не соглашаться... Вы можете даже смеяться... Но те запросы, которые Вы продемонстрировали для применения в решении этой задачи заставляет задуматься об исключении Вашего участия из решении этой задачи... Впрочем, не этой - тоже.
8 авг 14, 11:40    [16416165]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
Но те запросы, которые Вы продемонстрировали для применения в решении этой задачи заставляет задуматься об исключении Вашего участия из решении этой задачи.

Офигеть. Вы даже не можете отличить примера от реального запроса.

Т.е. если вам привести реальный запрос, то вы бы сразу сказали - ну вот тут у вас в 17ой строке не хватает условия сравнения, потому что если в таблице1 будет запись с комбинацией данных a,c, 10 в полях f1, f2, f3 а в таблице2 при этом окажется запись с комбинацией данных 10.25, 0xAA в полях f6, f10, то при INSERT будет нарушен уникальный ключ ?
Ну тогда вот - давайте, покажите свой класс. расскажите, почему тут дубликаты могут возникнуть
INSERT INTO DWH.T0303_ACCOUNT_STATUS_HISTORY
(
	Account_Nbr,
	Account_Nbr_Modifier,
	Acct_Status_Start_Date,
	Acct_Status_Type_Code,
	Acct_Status_End_Date
)
SELECT
	tn.Account_Nbr,
	tn.Account_Nbr_Modifier,
	tn.Acct_Status_Start_Date,
	tn.Acct_Status_Type_Code,
	tn.Acct_Status_End_Date
FROM OSA.H_NewHistory tn

LEFT JOIN DWH.T0303_ACCOUNT_STATUS_HISTORY t
ON 
	tn.Account_Nbr=t.Account_Nbr AND 
		tn.Account_Nbr_Modifier=t.Account_Nbr_Modifier AND 
		tn.Acct_Status_Start_Date=t.Acct_Status_Start_Date	
	AND (tn.Acct_Status_End_Date=t.Acct_Status_End_Date or (tn.Acct_Status_End_Date is null AND t.Acct_Status_End_Date is null))
	AND (tn.Acct_Status_Type_Code=t.Acct_Status_Type_Code or (tn.Acct_Status_Type_Code is null AND t.Acct_Status_Type_Code is null))
WHERE (t.Account_Nbr is null AND t.Account_Nbr_Modifier is null)

	and NOT (tn.Acct_Status_Type_Code is null)
8 авг 14, 11:50    [16416250]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3646
Glory
sphinx_mv
ЗЫ. "И эти люди запрещают мне ковыряться в носу!" (с)

Вот вам реальная задача
Источник данных доступен только с 2х часов ночи
Загрузка должна быть завершена до 3х часов ночи
MERGE работает 30 минут
I/U/D работают 45 минут

В 2:29 MERGE и I/U/D падают с ошибкой нарушения уникальности.
Вопрос - какой из методов имеет больший шанс закочить загрузку до 3х часов ?

в такой нестабильной схеме однозначно правильная последовательность действия такая
1. Скопировать bulk insert-om данные из источника в чистый stage максимально быстро и максимально надежно.
2. Делаем из стейджа мерж в приемник.
3. Profit
8 авг 14, 11:51    [16416251]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
И с каких пор примеры Ваших "недо-запросов", выдающих кривые (с точки зрения поставленной и обсуждаемой задачи) результаты стали "реальными"?!

А вы наверное всегда пишите супер код и ваши запросы всегда выдают правильные данные. Даже если исходные данные направильные. А вокруг скачут розовые пони.
Я не знаю какую траву Вы курите и где ее берете, но умение решить задачу с гарантированным результатом - квалифицирующий признак. Исключительные эксцессы - на то и они и исключительные...
8 авг 14, 11:56    [16416300]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ivan Durak
2. Делаем из стейджа мерж в приемник.

Причем здесь это
Я же не сказал, что источник доступен только до 3х часов.
Это загрузка должна быть завершена до 3х часов. А начинать ее нельзя раньше 2х
Стейдж здесь может только влиять на скорость обнаружения/исправления исходных данных, но не скорость
Но вы можете принять условие задачи, что в 2 часа делается выборка из источника в стейдж
Все остальное - время работы каждого метода, время падения - остается тоже самое
8 авг 14, 11:57    [16416308]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
Я не знаю какую траву Вы курите и где ее берете, но умение решить задачу с гарантированным результатом - квалифицирующий признак. Исключительные эксцессы - на то и они и исключительные...

Покажите класс. Там выше реальный код запроса.
8 авг 14, 11:57    [16416316]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
ЗЫ. "И эти люди запрещают мне ковыряться в носу!" (с)

Вот вам реальная задача
Источник данных доступен только с 2х часов ночи
Загрузка должна быть завершена до 3х часов ночи
MERGE работает 30 минут
I/U/D работают 45 минут

В 2:29 MERGE и I/U/D падают с ошибкой нарушения уникальности.
Вопрос - какой из методов имеет больший шанс закочить загрузку до 3х часов ?
НИ ОДИН! ТОЧКА!
Сугубо потому, что в случае падения а) нужно выявить точное место (в исходных данных!) возникновения нарушения уникальности, б) пофиксить его и в) повторить процедуру, молясь при этом, что не будет очередного глюка.
И, кстати, использование в рабочем окружении отвратительно проверенного и плохо работающего решения - как минимум, не серьезно.

На самом деле исключение падений решается СУГУБО за счет приведения исходных данных (в "оригинальных" таблицах или через запросы к ним) в постоянно гарантированное консистентное состояние.
8 авг 14, 11:59    [16416327]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
НИ ОДИН! ТОЧКА!

Да конечно

sphinx_mv
а) нужно выявить точное место (в исходных данных!) возникновения нарушения уникальности,

Выявили. Время 2-31

sphinx_mv
б) пофиксить его

Пофиксили. Время 2-35

sphinx_mv
в) повторить процедуру

Запустили MERGE, который работает 30 минут. Время окончания 3-05
Запустили I/U/D c _упавшего_ шага. Ориетировочно время работы 45 -29 = 16 минут. Время окончания 2-51
8 авг 14, 12:03    [16416363]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
Я не знаю какую траву Вы курите и где ее берете, но умение решить задачу с гарантированным результатом - квалифицирующий признак. Исключительные эксцессы - на то и они и исключительные...

Покажите класс. Там выше реальный код запроса.
То есть, Вы подтверждаете, что Вы не способны самостоятельно выявить в исходных данных к Вашей задаче набор идентифицирующих атрибутов?!
А просто посмотреть по значениям каких полей в таблице-назначении может возникнуть нарушение уникальности, слабо?!
"Рукалицо"...
8 авг 14, 12:08    [16416419]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
То есть, Вы подтверждаете, что Вы не способны самостоятельно выявить в исходных данных к Вашей задаче набор идентифицирующих атрибутов?!

Да
А вы подтвержадете, что можете это сделать по тексту запроса?
8 авг 14, 12:10    [16416428]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
НИ ОДИН! ТОЧКА!

Да конечно
Факт!
Glory
sphinx_mv
в) повторить процедуру

Запустили MERGE, который работает 30 минут. Время окончания 3-05
Запустили I/U/D c _упавшего_ шага. Ориетировочно время работы 45 -29 = 16 минут. Время окончания 2-51
А за это время - с начала процесса прошло больше получаса - в исходных данных (относящихся к, якобы, уже выполненным шагам) что-то поменялось... Ну, и что Вы "в итоге" поназагружали?! Неизвестно что, неизвестно для чего и неизвестно как!..

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

Все выполненные изменения необходимо откатывать и повторять по-новой. С дополнительными затратами времени...

ЗЫ. Все как-то стесняюсь спросить... Ваши "реальные задачи" все такие?
8 авг 14, 12:31    [16416602]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
А за это время - с начала процесса прошло больше получаса - в исходных данных (относящихся к, якобы, уже выполненным шагам) что-то поменялось...

Упертость ваша зашкаливает.
Специально для вас повторяю
В 2 часа происходит выгрузка источника в стейдж таблицу. Которая далее не меняется.
Все остальныке условия задачи остаются такими же

sphinx_mv
Все выполненные изменения необходимо откатывать и повторять по-новой. С дополнительными затратами времени...

Это вы сами решили, или вам кто-то сказал.
Какой реальный объем данных из скольки источников вы загружали ? Делали ли вы это в жестко заданный временной интервал ?
8 авг 14, 12:37    [16416643]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
То есть, Вы подтверждаете, что Вы не способны самостоятельно выявить в исходных данных к Вашей задаче набор идентифицирующих атрибутов?!

Да
А вы подтвержадете, что можете это сделать по тексту запроса?
Я утверждаю, что полный DDL таблицы DWH.T0303_ACCOUNT_STATUS_HISTORY (из Вашего же примера) вполне достаточен.
Но если Ваши религизные убеждения не позволяют этого сделать, наука тут бессильна...
8 авг 14, 12:48    [16416730]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
Я утверждаю, что полный DDL таблицы DWH.T0303_ACCOUNT_STATUS_HISTORY (из Вашего же примера) вполне достаточен.

Это представление.

sphinx_mv
Но если Ваши религизные убеждения не позволяют этого сделать, наука тут бессильна..

Что вам даст текст представления ?
На простом примере вы как то справились без DDL
А тут слабо ?
8 авг 14, 12:51    [16416751]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
Вы точно никогда не задумывались, что с Вами может сделать главбух за баланс, сведеный на основе таких, с позволения сказать, "данных"? Что характерно - будет в абсолютном праве...

Все выполненные изменения необходимо откатывать и повторять по-новой. С дополнительными затратами времени...

А что вам скажет главбух, если он вообще не сможет ничего посчитать ?
Потому что вы все время перезапускаете упавший процесс "С дополнительными затратами времени."
8 авг 14, 12:55    [16416775]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
А за это время - с начала процесса прошло больше получаса - в исходных данных (относящихся к, якобы, уже выполненным шагам) что-то поменялось...

Упертость ваша зашкаливает.
Специально для вас повторяю
В 2 часа происходит выгрузка источника в стейдж таблицу. Которая далее не меняется.
Все остальныке условия задачи остаются такими же
Ну, это точно религия...
Кто запрещает проверять уникальность сразу в stage таблице??? Или вобще ДО загрузки в нее???
Упс! Совершенно нескромный вопрос... Вы вообще в каком месте выявленные ошибки устраняете - в "самых исходных" данных или только в stage-таблице???
И как у Вас смотрят на ситуации, когда архивные данные не соответствуют оперативным?
И что произойдет с Вашими отчетами, когда возникнет необходимость перезаливки данных (по какой-нибудь причине через некоторое время "после того как")?
Glory
sphinx_mv
Все выполненные изменения необходимо откатывать и повторять по-новой. С дополнительными затратами времени...

Это вы сами решили, или вам кто-то сказал.
Еще раз: Вы грузите в систему битые данные. И это сугубо Ваше личное горе... Это как подгон решения задачи под ответ в конце учебника...

И если Вы согласны вытерпеть все то, что с Вами сделает главбух после сдачи в налоговую квартального отчета, полученного на основе загруженных Вами данных - Вы вполне имеете на это право... Но мои сексуальные предпочтения и фантазии настолько далеко не распрастраняются.
Glory
Какой реальный объем данных из скольки источников вы загружали ? Делали ли вы это в жестко заданный временной интервал ?
Позвольте уточнить... Когда и где Ваша линейка проходила сертификацию?
8 авг 14, 13:10    [16416878]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
Вы точно никогда не задумывались, что с Вами может сделать главбух за баланс, сведеный на основе таких, с позволения сказать, "данных"? Что характерно - будет в абсолютном праве...

Все выполненные изменения необходимо откатывать и повторять по-новой. С дополнительными затратами времени...

А что вам скажет главбух, если он вообще не сможет ничего посчитать ?
Потому что вы все время перезапускаете упавший процесс "С дополнительными затратами времени."
В 3 часа ночи?
Актуально... Факт...

Вот только, Вам уже неоднократно как бы намекалось, что бороться нужно не с симптомами, а с причиной...
Нарушение уникальности - симптом. Неконсистентность загружаемых данных - причина.
8 авг 14, 13:12    [16416898]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
Кто запрещает проверять уникальность сразу в stage таблице???

Элементанрая логика
Потому что стейдж таблица должна быть полной копией того, что выгрузили.
А не частью.

sphinx_mv
Упс! Совершенно нескромный вопрос... Вы вообще в каком месте выявленные ошибки устраняете - в "самых исходных" данных или только в stage-таблице???

И там и там. Просто не одновременно. Потому, что где точно источник физически хранит эти данные, известно админу источника

sphinx_mv
Еще раз: Вы грузите в систему битые данные. И это сугубо Ваше личное горе... Это как подгон решения задачи под ответ в конце учебника...

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

sphinx_mv
И если Вы согласны вытерпеть все то, что с Вами сделает главбух после сдачи в налоговую квартального отчета, полученного на основе загруженных Вами данных - Вы вполне имеете на это право... Но мои сексуальные предпочтения и фантазии настолько далеко не распрастраняются.

Боюсь что вас будут иметь еще до сдачи отчета. Потому вы свой отчет вообще не получите. Хоть с правильными данынми, хоть с неправильными.
8 авг 14, 13:19    [16416941]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
В 3 часа ночи?
Актуально... Факт...

Ой бл*. Ну поставьте вместо 3х ночи, 3 дня. Придирчивый вы мой

sphinx_mv
Вот только, Вам уже неоднократно как бы намекалось, что бороться нужно не с симптомами, а с причиной...
Нарушение уникальности - симптом. Неконсистентность загружаемых данных - причина.

И как же вы боритесь с причиной. Расскажите.
8 авг 14, 13:20    [16416959]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
Я утверждаю, что полный DDL таблицы DWH.T0303_ACCOUNT_STATUS_HISTORY (из Вашего же примера) вполне достаточен.

Это представление.
Странно... Почему я ни разу не удивился?
Танец "уж на сковородке" у Вас очень классно получается.
Glory
sphinx_mv
Но если Ваши религизные убеждения не позволяют этого сделать, наука тут бессильна..

Что вам даст текст представления ?
На простом примере вы как то справились без DDL
А тут слабо ?
Во-первых, удаленное применение методов воздействия ниже 80-го уровня для получения "совершенно засекреченных" сведений о Вашей задаче крайне неэффективно. А другие варианты вытащить из Вас подробности задачи мне в голову как-то не приходят...

Во-вторых, общее представление о DDL в простом примере, на котрый Вы ссылаетесь, все же имелось...

Ну, и в-третьих... Вам как бы уже намекалось, что решение задачи без полного анализа исходных требований и условий - нонсенс.
Уточнение DDL используемого представления, уточнение DDL таблиц, которые в этом представлениии используются - это все еще анализ задачи... Надеюсь, но не особо, что хоть с этим Вы не будете спорить...
8 авг 14, 13:27    [16417003]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
Странно... Почему я ни разу не удивился?

Я так понимаю вы ни разу на слышали про Представительский уровень.
Когда таблицы специально скрывают за витринами.
Жаль, что у вас пробел в этой теме.

sphinx_mv
Во-первых, удаленное применение методов воздействия ниже 80-го уровня для получения "совершенно засекреченных" сведений о Вашей задаче крайне неэффективно. А другие варианты вытащить из Вас подробности задачи мне в голову как-то не приходят...

Родной, это реальная жизнь. Никто не обещал тебе права Бога на все, что захочешь

sphinx_mv
Во-вторых, общее представление о DDL в простом примере, на котрый Вы ссылаетесь, все же имелось...

Разумеется оно есть. Вопрос только в доступности DDL

sphinx_mv
Ну, и в-третьих... Вам как бы уже намекалось, что решение задачи без полного анализа исходных требований и условий - нонсенс.

Ой как много условий. Как-то все больше становится похоже на извивание на сковородке.
Вы сами то что прямо так просматриваете все объекты и запросы во всех базах/серверах ?
Может быть вы их еще и тестируете до установки ?
Да еще на реальных данных тестируете ?
8 авг 14, 13:33    [16417061]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Glory
sphinx_mv
Кто запрещает проверять уникальность сразу в stage таблице???

Элементанрая логика
Потому что стейдж таблица должна быть полной копией того, что выгрузили.
А не частью.
"Штирлиц еще никогда не был так близок к провалу..." (с)
Исправление неконсистентных исходных данных, которые приводят к нарушению уникальности, Вы с таким подходом ОБЯЗАНЫ выполнять на этапе ДО загрузки в stage. Что автоматически тянет за собой перезаливку stage в случае сбоев.
Что явно добавляет секусуальности в решение поставленной задачи...
Glory
sphinx_mv
Упс! Совершенно нескромный вопрос... Вы вообще в каком месте выявленные ошибки устраняете - в "самых исходных" данных или только в stage-таблице???

И там и там. Просто не одновременно. Потому, что где точно источник физически хранит эти данные, известно админу источника
У Вас противоречие на противоречии и противоречием погоняет...
А что произойдет, если при исправлении "самых исходных" данных будут допущены другие ошибки?
Правильный ответ будет состоять из нескольких этажей отборного мата. И это - в лучшем случае...
Кстати... Не очень завидую админу "источника", хоть у него и могут быть "варианты"...
Glory
sphinx_mv
Еще раз: Вы грузите в систему битые данные. И это сугубо Ваше личное горе... Это как подгон решения задачи под ответ в конце учебника...

Ваше горе, что вы не можете понять, что исправив стейдж таблицу, я загружу правильные данные. И загружу их быстрее. Потому что начну загрузку не с начала.
Если Вам "положительно" на правильность загруженных данных - флаг в руки и барабан на шею. Могу еще пару воздушных шариков добавить, если Вам пофиг на то, что "отложенные" исправления в "первоисточнике" окажутся совсем несоотвествеющими тем данным, которые Вы, якобы, "поправили" в stage и загрузили в архив.
Glory
sphinx_mv
И если Вы согласны вытерпеть все то, что с Вами сделает главбух после сдачи в налоговую квартального отчета, полученного на основе загруженных Вами данных - Вы вполне имеете на это право... Но мои сексуальные предпочтения и фантазии настолько далеко не распрастраняются.

Боюсь что вас будут иметь еще до сдачи отчета. Потому вы свой отчет вообще не получите. Хоть с правильными данынми, хоть с неправильными.
Занятное заблуждение...
Вас не смущает тот факт, что я ЗНАЮ причину, и, соответственно, имею ненулевую вероятность в худшем случае перевести стрелки на реального виновника получения неверных данных для отчет, а в лучшем случае - получу время на выявление и устранение причины возникновения проблем. При вмяняемом руководстве (а другого не держим) "ненулевой" уровень одначает "предельно близко к единице"... Обращаю внимание: устранение причины возникновения проблемы означает "всерьез и надолго" - практически, "насовсем".
8 авг 14, 13:54    [16417227]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли преимущества Merge перед Insert+Update+Delete?  [new]
Glory
Member

Откуда:
Сообщений: 104760
sphinx_mv
Исправление неконсистентных исходных данных, которые приводят к нарушению уникальности, Вы с таким подходом ОБЯЗАНЫ выполнять на этапе ДО загрузки в stage.

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

sphinx_mv
Если Вам "положительно" на правильность загруженных данных - флаг в руки и барабан на шею.

Т.е. исправленные в стейдже данные уже не являеются правильными ? Нужно обязательно исправить источник и повторно загрузить вообще все данные ?
Мне вот интересно, вы когда книгу читаете и видите опечатку, вы ждете, пока выйдет новое издание книги и начинаете читать ее сначала ?

sphinx_mv
Могу еще пару воздушных шариков добавить, если Вам пофиг на то, что "отложенные" исправления в "первоисточнике" окажутся совсем несоотвествеющими тем данным, которые Вы, якобы, "поправили" в stage и загрузили в архив.

Это вы уже придумали. В стейдже правятся ошибочные данные. Т.е. данные, которые не загрузились.
А те которые загрузлись, не правяться. И не грузяться заново. Потому что с ними все хорошо.
А Все изменения источника, сделанные после текущей загрузки, попадают в следующую загрузку.
И если источник не успеет исправить дубликаты, то я опять исправлю стейдж и таки загружу данные.
И вы будете куковать и объяснять своим главбухам, что команда MERGE - это же прирост производительности и уменьшение кода. Просто нерадивый источник все портит.

sphinx_mv
имею ненулевую вероятность в худшем случае перевести стрелки на реального виновника получения неверных данных для отчет,

Во-во, я понял. Перевести стрелки - это именно то, что надо.
8 авг 14, 14:08    [16417345]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить