|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Добрый день Какие могут быть проблемы большой транзкции? Например выполняется запись данных 300 МБ в течение часа Пользователей в базе нет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 18:28 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 Какие могут быть проблемы большой транзкции? Например выполняется запись данных 300 МБ в течение часа Начать нужно с кода этой "транзакции", изучения модели данных, потом посмотреть статистику выполнения (трейс и актуальные планы). Из этого можно будет хоть что то сказать по теме (предположить, какие в самых общих чертах есть варианты, и что дальше нужно исследовать). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 19:36 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Я так понимаю что это долго для вас? sp_whoisactive от Adam Machanic взять здесь http://whoisactive.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 19:37 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
alexeyvg, код транзакции простой: в цикле записывается много объектов какие могут быть технические проблемы при этом? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 19:38 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 какие могут быть технические проблемы при этом? 2. Убедитесь, что всё это делается именно в одной транзакции, в одиночных транзакциях получится в десяток раз медленней. У вас написано begin tran, или вы транзакцией называете бизнес-операцию? 3. Смотрите, сколько занимает каждая операция, может, есть те, которые сильно медленней - тогда изучайте их индивидуально. Снимите трейс с записью в таблицу, потом его можно анализировать запросами, например, выводить статистику по типам операций, по времени выполнения в начале ив конце, ну и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 19:52 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 alexeyvg, код транзакции простой: в цикле записывается много объектов какие могут быть технические проблемы при этом? Если на сферический сервер в вакууме (без пользователей) вести запись ажно 300Мб (ужос то какой, ладно бы 300Тб) никаких технических проблем не возникнет. Надо на диске или в базе иметь 600Мб свободного места и ... фсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 19:54 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
aleks222 Если на сферический сервер в вакууме (без пользователей) вести запись ажно 300Мб (ужос то какой, ладно бы 300Тб) никаких технических проблем не возникнет. Или там "цикл с записью простых объектов" получает каждый объект снаружи через веб-сервис? Повторю, нужны хоть какие то детали. Например, трейс одного прохода "цикла". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 20:00 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 Добрый день Какие могут быть проблемы большой транзкции? Например выполняется запись данных 300 МБ в течение часа Пользователей в базе нет наложатся блокировки на объект записи на время транзакции большая транзакция должна поместиться в лог - нужно место в логе и/или на диске ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 20:11 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0, если пользователей нет, то никаких проблем. 300мб сейчас не размер. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 22:11 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 alexeyvg, код транзакции простой: в цикле записывается много объектов какие могут быть технические проблемы при этом? Сначала в цикле (не открывая транзакцию) загоните все во временную таблицу, потом внутри транзакции сделайте вставку всего этого. На больших данных всегда надо делать буфер. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2021, 22:40 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Коллеги, 300 Мб я взял условные - т.к. выполняется загрузка из xml такого порядка размера или больше. Именно мегабайты. Я понимаю что в XML есть неполезная нагрузка в виде тегов итд, но тем не менее, вопрос про такой порядок. Пока из ответов я увидел, что проблем не должно быть. Вопрос у меня звучит именно так: в одной транзакции в цикле записывается много объектов. какие могут быть технические проблемы при этом? Нет вопроса как оптимизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 03:55 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 какие могут быть технические проблемы при этом? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 04:10 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
alexeyvg Может, это запись 30 млн. строк по 10 байт (int, int, smallint) каждая? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 08:35 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 alexeyvg Может, это запись 30 млн. строк по 10 байт (int, int, smallint) каждая? Все будет харашо. Я это точно знаю... Не ссыте - грузите. При использовании православного средства загрузки, навроде sqlXmlBulkLoad, это займет от 1 до 30 сек. Диски то у вас тоже сферические. ЗЫ. Нафига козе баян вам транзакция при загрузке данных с XML? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 09:36 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 Добрый день Какие могут быть проблемы большой транзкции? Например выполняется запись данных 300 МБ в течение часа Пользователей в базе нет В описанном Вами случае, самой большой проблемой может быть: откат всей транзакции из-за какой-нибудь мелочи ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 09:59 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
alexeyvg 2. Убедитесь, что всё это делается именно в одной транзакции, в одиночных транзакциях получится в десяток раз медленней. У вас написано begin tran, или вы транзакцией называете бизнес-операцию? Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 10:04 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
felix_ff alexeyvg 2. Убедитесь, что всё это делается именно в одной транзакции, в одиночных транзакциях получится в десяток раз медленней. У вас написано begin tran, или вы транзакцией называете бизнес-операцию? Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций Консилиум у постели мертворожденного? Прежде чем, "спорить" не худо убедиться, что ТС понимает: "что такое транзакция" и "зачем ему эта транзакция". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 10:10 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 Добрый день Какие могут быть проблемы большой транзкции? Например выполняется запись данных 300 МБ в течение часа Пользователей в базе нет ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 10:12 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 alexeyvg, код транзакции простой: в цикле записывается много объектов какие могут быть технические проблемы при этом? Разные, вы хотите, чтобы вам тут начали фантазировать и сделали список типа 1, 2,..., 101? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 13:45 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
alexeyvg Да тут 300 Мб тоже сферические vi0 Коллеги, 300 Мб я взял условные - т.к. выполняется загрузка из xml такого порядка размера или больше. vi0 Пока из ответов я увидел, что проблем не должно быть. Но умеючи можно и, ээээ, этим сервер сломать. vi0 Нет вопроса как оптимизировать. Так можно сделать транзакцию короче, что полезно при многопользовательской работе. Второй приёмчик - разбирать XML и вставлять данные каким то более оптимальным способом, например, используя XMLBulkLoad, или свой балко-подобный код. Так можно на рядовом железе довести разбор XML со вставкой в БД до десятков или сотен мб/сек Но это если действительно есть проблема с производительностью (например, если у вас поток таких файлов по 300 мб), в противном случае можно не заморачиваться, не те объёмы, делайте на чём умеете. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 20:48 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
felix_ff Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 09:10 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Gerasimenko vi0 Добрый день Какие могут быть проблемы большой транзкции? Например выполняется запись данных 300 МБ в течение часа Пользователей в базе нет В описанном Вами случае, самой большой проблемой может быть: откат всей транзакции из-за какой-нибудь мелочи ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 09:11 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
автороткат всей транзакции из-за какой-нибудь мелочиМаленький нюанс. Туда SQL Server может идти в параллель, а вот обратно (роллбак) идет всегда в один поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 17:24 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
aleks222 felix_ff пропущено... Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций Консилиум у постели мертворожденного? Прежде чем, "спорить" не худо убедиться, что ТС понимает: "что такое транзакция" и "зачем ему эта транзакция". Картина "С.М.Будённый на коне у постели больного М.Горького" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 12:47 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Gerasimenko vi0 Добрый день Какие могут быть проблемы большой транзкции? Например выполняется запись данных 300 МБ в течение часа Пользователей в базе нет В описанном Вами случае, самой большой проблемой может быть: откат всей транзакции из-за какой-нибудь мелочи В описанном Вами случае, самой большой проблемой может быть: непонимание, что такое транзакция, что такое SQL Server, нафига всё это нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 12:49 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
SERG1257 Маленький нюанс. Туда SQL Server может идти в параллель, а вот обратно (роллбак) идет всегда в один поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 14:48 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 SERG1257 Маленький нюанс. Туда SQL Server может идти в параллель, а вот обратно (роллбак) идет всегда в один поток. Чтобы у тебя было время осознать свою ошибку и покаяться. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 14:53 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
SERG1257 Я так понимаю что это долго для вас? поэтому транзакцию в один час я воспринимаю как долгую отсюда у меня и вопрос исходный ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 14:53 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 SERG1257 Я так понимаю что это долго для вас? поэтому транзакцию в один час я воспринимаю как долгую отсюда у меня и вопрос исходный не останавливайся, мы читаем и черпаем знания ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 15:19 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0, автортранзакцию в один час я воспринимаю как долгую Да хоть один год, если это ничему не мешает. Всё зависит от последствий, приемлемы они или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 21:24 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Владислав Колосов vi0, автортранзакцию в один час я воспринимаю как долгую Да хоть один год, если это ничему не мешает. Всё зависит от последствий, приемлемы они или нет.в этом и заключается мой вопрос Какие последствия могут быть ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 05:06 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 Владислав Колосов vi0, пропущено... Да хоть один год, если это ничему не мешает. Всё зависит от последствий, приемлемы они или нет. Какие последствия могут быть Разговор глухого со слепым? ЗЫ. Расходимся ребяты, это искусcтвенный интеллект бот. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 07:08 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Из ответов я понял, что проблем с такими объемами не должно быть. Спасибо за зерна в обсуждении. Хот можно и выродить вопрос к академическому. Вопрос такой: В базе нет пользователей. Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int. Какие проблемы начнутся раньше всего, если допустить что диски с бесконечной емкостью. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 08:27 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int. На этом можно заканчивать воспринимать вопрошающего всерьез. Приколист, что ли? Проблема бесконечной транзакции в бесконечности транзакции. ВашЪ КО. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 09:19 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0 Из ответов я понял, что проблем с такими объемами не должно быть. Спасибо за зерна в обсуждении. Хот можно и выродить вопрос к академическому. Вопрос такой: В базе нет пользователей. Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int. Какие проблемы начнутся раньше всего, если допустить что диски с бесконечной емкостью. Хот можно и выродить вопрос к академическому. Вопрос такой: В базе нет пользователей. В сервере нет коннектов. Комната закрыта и тушите свет. Вопрос: как порешить тех, кто создает транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 12:01 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
Я ч детства мечтал о: vi0 разрабатывать для бд с пользователями, с рекомендациями по длительности транзакций в несколько десятков секунд поэтому транзакцию в один час я воспринимаю как долгую vi0 Вопрос такой: В базе нет пользователей. Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 22:26 |
|
Проблема большой транзакции
|
|||
---|---|---|---|
#18+
vi0, авторКакие последствия могут быть писал выше - никаких. Последствия всегда зависят от условия задачи. А Вашем случае в базе нет пользователей, транзакция единственная. Может хоть год быть открытой, мешать нечему и некому. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2021, 00:05 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1683992]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 386ms |
0 / 0 |