|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Petro123ну, он чуть преувеличил. Все варианты одинаковы). Ни на грамм не преувеличил. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 10:24 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
[quot hVostt]LRВью, которое на самом деле не вью, а генерация набора колонок. Триггер, который на самом деле выполняет задачи процедуры. Костыль на костыле. С определённого угла зрения, конечно может выглядеть, как "трюк". Тут уже действительно ИМХО )) Простое, это процедура, как предложил Алексей К. Эффективное? Нет. Ни разу, я вас умоляю. Ну и попробуйте булк в свою вью, посмотрим-с, как это у вас заработает. Хоть горшком назови, только в печь не станови)) На самом деле вью, генерирующая колонки, это таки вью, а триггер это таки триггер - выполняет задачи процедуры, только чуть более эффективно (внутренняя транзакция + все данные под боком). Пример булка привел - каждый может попробовать;) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 10:45 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
hVosttПростое, это процедура, как предложил Алексей К. Эффективное? Нет. Ни разу, я вас умоляю. Это ещё надо доказать. Тут, если всё аккуратно написать, тонким местом является физическая запись данных на жёсткий диск. Поэтому лично я скептически отношусь к решающему превосходству булкинсерта. Проще сгенерировать SQL-пакет. И никаких ограничений по функциональности. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 10:48 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
LRХоть горшком назови, только в печь не станови)) На самом деле вью, генерирующая колонки, это таки вью, а триггер это таки триггер - выполняет задачи процедуры, только чуть более эффективно (внутренняя транзакция + все данные под боком). Пример булка привел - каждый может попробовать;) Ну тогды пятитысячная купюра это та же туалетная бумага За пример, конечно + Но практика это плохая во многих отношениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 10:55 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Алексей КПоэтому лично я скептически отношусь к решающему превосходству булкинсерта. Проще сгенерировать SQL-пакет.ну это уже не импорт файла. Ты пробовал файл 800мегов так вставлять? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 11:04 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Алексей КЭто ещё надо доказать. Если, как я сказал, данные залить в отдельно выделенную таблицу, а потом оттуда импортировать данные, то 1. Можно на полном наборе данных выявлять нарушения, грузить только то, что нужно, детектить дубли, джойнить, отсекать, преобразовывать. 2. Исходную таблицу можно проапдейтить с результатами подготовки к загрузке (п.1), статусами, причинами и проч. 3. Можно избежать длительной блокировки и жирной транзакции (после выполнения проверки в п.1), заливать данные порциями или построчно, при чём это может работать надёжно, полностью асинхронно и любой может видеть текущий прогресс в любой момент из любого клиента и контролировать. 4. Источником данных является таблица, а непонятно откуда и как залетающие данные, которые могут отвалиться по непонятным причинам, что для СУБД является самым лучшим решением. 5. На таком принципе можно логику импорта вынести из СУБД и описывать где угодно в каких угодно нотациях и правилах. Но никто не мешает использовать процедуры и проч. Это быстро, эффективно, сопровождаемо, расширяемо, не имеет различных костылей, прокладок и хаков. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 11:06 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Алексей КПоэтому лично я скептически отношусь к решающему превосходству булкинсерта. SQL пакет это вообще прибитое ржавыми гвоздями непотребство. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 11:07 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Алексей К, И с один ко многм как быть? Заказы -> детализация ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 11:07 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
hVosttНу и попробуйте булк в свою вью, посмотрим-с, как это у вас заработает. Нормально оно заработает: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 11:46 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Petro123Алексей КПоэтому лично я скептически отношусь к решающему превосходству булкинсерта. Проще сгенерировать SQL-пакет.ну это уже не импорт файла. Ты пробовал файл 800мегов так вставлять?В чём проблема-то? Никто не заставляет всё пихать в один пакет. Размер пакета определить опытным путём. Petro123Алексей К, И с один ко многм как быть? Заказы -> детализация ?В хранимой процедуре можно организовать любую логику. И не такое вставляли... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:10 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
hVosttАлексей КЭто ещё надо доказать. Если, как я сказал, данные залить в отдельно выделенную таблицу, а потом оттуда импортировать данные, то 1. Можно на полном наборе данных выявлять нарушения, грузить только то, что нужно, детектить дубли, джойнить, отсекать, преобразовывать. 2. Исходную таблицу можно проапдейтить с результатами подготовки к загрузке (п.1), статусами, причинами и проч. 3. Можно избежать длительной блокировки и жирной транзакции (после выполнения проверки в п.1), заливать данные порциями или построчно, при чём это может работать надёжно, полностью асинхронно и любой может видеть текущий прогресс в любой момент из любого клиента и контролировать. 4. Источником данных является таблица, а непонятно откуда и как залетающие данные, которые могут отвалиться по непонятным причинам, что для СУБД является самым лучшим решением. 5. На таком принципе можно логику импорта вынести из СУБД и описывать где угодно в каких угодно нотациях и правилах. Но никто не мешает использовать процедуры и проч. Это быстро, эффективно, сопровождаемо, расширяемо, не имеет различных костылей, прокладок и хаков.Признаюсь, я не знаю как это комментировать. Мне надо подумать... Ты уж прости... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:23 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
На нах ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:39 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныНормально оно заработает: Код: c# 1. 2. 3. 4.
Так и чо, никто не запускал, да? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:48 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Алексей КПризнаюсь, я не знаю как это комментировать. Мне надо подумать... Ты уж прости... Ну ты просил доказательств.. Это так, на поверхности. skyANA привёл картинку с адекватной архитектурой. Просто не все у нас думают хоть на шаг вперёд и смотрят чуть дальше своего носа. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:50 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Алексей КВ хранимой процедуре можно организовать любую логику. И не такое вставляли... И запинывали ногами... ага, видал такое, и периодически наблюдаю. При чём во всех сферах деятельности, не только в разработке. Оно знаешь, когда видно. Когда ты потребитель, а не исполнитель. Вот с точки зрения потребителя всё становится плохо, дороги, автомобили, банки... А когда ты работаешь на предприятии, чё морочиться, плюнул, пришпандорил, вроде не отваливается -- задача выполнена! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:53 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Алексей КPetro123пропущено... ну это уже не импорт файла. Ты пробовал файл 800мегов так вставлять?В чём проблема-то? Никто не заставляет всё пихать в один пакет. Размер пакета определить опытным путём. Petro123Алексей К, И с один ко многм как быть? Заказы -> детализация ?В хранимой процедуре можно организовать любую логику. И не такое вставляли... Вот и получается что при Bulk ты указываешь шару папку на сервере и Целиком файл сначала кпируется и потом вставляется при выкл. Журналов. Т.е. быстрее. А тут тебе с хранимкой ВСЕ руками. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:53 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
hVosttТак и чо, никто не запускал, да? Я запускал. Загружается вполне нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:59 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
hVosttskyANA привёл картинку с адекватной архитектурой. Вспомнилось почему-то . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 13:03 |
|
BulkCopy в N таблиц из 1 источника
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныhVosttskyANA привёл картинку с адекватной архитектурой. Вспомнилось почему-то . And stop creating extra work for us in the future for no good reason. Написание псевдовьюхи, триггера, которые очень сложно отлаживать, с очевидными недостатками, это не экстраворк? Ну хоть работает, и то ладно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 13:13 |
|
|
start [/forum/topic.php?fid=20&msg=39667120&tid=1399318]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 274ms |
0 / 0 |