powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема большой транзакции
37 сообщений из 37, показаны все 2 страниц
Проблема большой транзакции
    #40120758
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Какие могут быть проблемы большой транзкции?
Например выполняется запись данных 300 МБ в течение часа
Пользователей в базе нет
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120784
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
Какие могут быть проблемы большой транзкции?
Например выполняется запись данных 300 МБ в течение часа
Тема "оптимизация" не сводится к какой то одной галочке, которую надо включить.
Начать нужно с кода этой "транзакции", изучения модели данных, потом посмотреть статистику выполнения (трейс и актуальные планы).
Из этого можно будет хоть что то сказать по теме (предположить, какие в самых общих чертах есть варианты, и что дальше нужно исследовать).
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120786
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю что это долго для вас?

sp_whoisactive от Adam Machanic
взять здесь http://whoisactive.com/
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120787
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,
код транзакции простой: в цикле записывается много объектов
какие могут быть технические проблемы при этом?
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120792
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
какие могут быть технические проблемы при этом?
1. Много мелких изменений делать дольше, чем одно большое, как правило.

2. Убедитесь, что всё это делается именно в одной транзакции, в одиночных транзакциях получится в десяток раз медленней. У вас написано begin tran, или вы транзакцией называете бизнес-операцию?

3. Смотрите, сколько занимает каждая операция, может, есть те, которые сильно медленней - тогда изучайте их индивидуально.
Снимите трейс с записью в таблицу, потом его можно анализировать запросами, например, выводить статистику по типам операций, по времени выполнения в начале ив конце, ну и т.д.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120793
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
alexeyvg,
код транзакции простой: в цикле записывается много объектов
какие могут быть технические проблемы при этом?

Если на сферический сервер в вакууме (без пользователей) вести запись ажно 300Мб (ужос то какой, ладно бы 300Тб) никаких технических проблем не возникнет.
Надо на диске или в базе иметь 600Мб свободного места и ... фсе.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120796
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Если на сферический сервер в вакууме (без пользователей) вести запись ажно 300Мб (ужос то какой, ладно бы 300Тб) никаких технических проблем не возникнет.
Да тут 300 Мб тоже сферические, автор же не говорит, что это за цифра, в его понимании. Может, это запись 30 млн. строк по 10 байт (int, int, smallint) каждая?
Или там "цикл с записью простых объектов" получает каждый объект снаружи через веб-сервис?

Повторю, нужны хоть какие то детали.
Например, трейс одного прохода "цикла".
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120802
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
Добрый день
Какие могут быть проблемы большой транзкции?
Например выполняется запись данных 300 МБ в течение часа
Пользователей в базе нет

наложатся блокировки на объект записи на время транзакции
большая транзакция должна поместиться в лог - нужно место в логе и/или на диске
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120825
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0,

если пользователей нет, то никаких проблем. 300мб сейчас не размер.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120836
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
alexeyvg,
код транзакции простой: в цикле записывается много объектов
какие могут быть технические проблемы при этом?


Сначала в цикле (не открывая транзакцию) загоните все во временную таблицу, потом внутри транзакции сделайте вставку всего этого. На больших данных всегда надо делать буфер.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120878
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, 300 Мб я взял условные - т.к. выполняется загрузка из xml такого порядка размера или больше. Именно мегабайты. Я понимаю что в XML есть неполезная нагрузка в виде тегов итд, но тем не менее, вопрос про такой порядок.
Пока из ответов я увидел, что проблем не должно быть.

Вопрос у меня звучит именно так:
в одной транзакции в цикле записывается много объектов. какие могут быть технические проблемы при этом?

Нет вопроса как оптимизировать.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120881
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
какие могут быть технические проблемы при этом?
проблемы могут быть только те которые вы сами и создадите.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120897
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Может, это запись 30 млн. строк по 10 байт (int, int, smallint) каждая?
Количество записей примерно 300 тыс
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120909
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
alexeyvg
Может, это запись 30 млн. строк по 10 байт (int, int, smallint) каждая?
Количество записей примерно 300 тыс


Все будет харашо. Я это точно знаю...
Не ссыте - грузите.

При использовании православного средства загрузки, навроде sqlXmlBulkLoad, это займет от 1 до 30 сек.
Диски то у вас тоже сферические.

ЗЫ. Нафига козе баян вам транзакция при загрузке данных с XML?
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120916
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
Добрый день
Какие могут быть проблемы большой транзкции?
Например выполняется запись данных 300 МБ в течение часа
Пользователей в базе нет

В описанном Вами случае, самой большой проблемой может быть: откат всей транзакции из-за какой-нибудь мелочи
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120919
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg

2. Убедитесь, что всё это делается именно в одной транзакции, в одиночных транзакциях получится в десяток раз медленней. У вас написано begin tran, или вы транзакцией называете бизнес-операцию?


Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120921
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
alexeyvg

2. Убедитесь, что всё это делается именно в одной транзакции, в одиночных транзакциях получится в десяток раз медленней. У вас написано begin tran, или вы транзакцией называете бизнес-операцию?


Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций


Консилиум у постели мертворожденного?

Прежде чем, "спорить" не худо убедиться, что ТС понимает: "что такое транзакция" и "зачем ему эта транзакция".
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40120924
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
Добрый день
Какие могут быть проблемы большой транзкции?
Например выполняется запись данных 300 МБ в течение часа
Пользователей в базе нет
Нехватка места на диске. Лог-файлы могут распухнуть.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121023
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
alexeyvg,
код транзакции простой: в цикле записывается много объектов
какие могут быть технические проблемы при этом?


Разные, вы хотите, чтобы вам тут начали фантазировать и сделали список типа 1, 2,..., 101?
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121161
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Да тут 300 Мб тоже сферические
Ну вот, что я говорил? :-)
vi0
Коллеги, 300 Мб я взял условные - т.к. выполняется загрузка из xml такого порядка размера или больше.

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

Второй приёмчик - разбирать XML и вставлять данные каким то более оптимальным способом, например, используя XMLBulkLoad, или свой балко-подобный код. Так можно на рядовом железе довести разбор XML со вставкой в БД до десятков или сотен мб/сек
Но это если действительно есть проблема с производительностью (например, если у вас поток таких файлов по 300 мб), в противном случае можно не заморачиваться, не те объёмы, делайте на чём умеете.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121197
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций
почему считаете будет замедление?
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121198
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gerasimenko
vi0
Добрый день
Какие могут быть проблемы большой транзкции?
Например выполняется запись данных 300 МБ в течение часа
Пользователей в базе нет

В описанном Вами случае, самой большой проблемой может быть: откат всей транзакции из-за какой-нибудь мелочи
согласен да
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121249
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автороткат всей транзакции из-за какой-нибудь мелочиМаленький нюанс.
Туда SQL Server может идти в параллель, а вот обратно (роллбак) идет всегда в один поток.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121339
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
felix_ff
пропущено...


Вот тут поспорю, одна здоровенная транзакция для какой то объемной бизнес логики будет сильно медленне большого кол-ва коротких транзакций


Консилиум у постели мертворожденного?

Прежде чем, "спорить" не худо убедиться, что ТС понимает: "что такое транзакция" и "зачем ему эта транзакция".


Картина "С.М.Будённый на коне у постели больного М.Горького"
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121340
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gerasimenko
vi0
Добрый день
Какие могут быть проблемы большой транзкции?
Например выполняется запись данных 300 МБ в течение часа
Пользователей в базе нет

В описанном Вами случае, самой большой проблемой может быть: откат всей транзакции из-за какой-нибудь мелочи


В описанном Вами случае, самой большой проблемой может быть: непонимание, что такое транзакция, что такое SQL Server, нафига всё это нужно
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121366
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257
Маленький нюанс.
Туда SQL Server может идти в параллель, а вот обратно (роллбак) идет всегда в один поток.
почему же откат сервер не делает тоже в параллель?
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121367
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
SERG1257
Маленький нюанс.
Туда SQL Server может идти в параллель, а вот обратно (роллбак) идет всегда в один поток.
почему же откат сервер не делает тоже в параллель?

Чтобы у тебя было время осознать свою ошибку и покаяться.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121368
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257
Я так понимаю что это долго для вас?
я привык разрабатывать для бд с пользователями, с рекомендациями по длительности транзакций в несколько десятков секунд
поэтому транзакцию в один час я воспринимаю как долгую
отсюда у меня и вопрос исходный
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121377
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
SERG1257
Я так понимаю что это долго для вас?
я привык разрабатывать для бд с пользователями, с рекомендациями по длительности транзакций в несколько десятков секунд
поэтому транзакцию в один час я воспринимаю как долгую
отсюда у меня и вопрос исходный


не останавливайся, мы читаем и черпаем знания
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121479
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0,

автортранзакцию в один час я воспринимаю как долгую
Да хоть один год, если это ничему не мешает. Всё зависит от последствий, приемлемы они или нет.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121532
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
vi0,

автортранзакцию в один час я воспринимаю как долгую

Да хоть один год, если это ничему не мешает. Всё зависит от последствий, приемлемы они или нет.в этом и заключается мой вопрос
Какие последствия могут быть
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121540
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
Владислав Колосов
vi0,

пропущено...

Да хоть один год, если это ничему не мешает. Всё зависит от последствий, приемлемы они или нет.
в этом и заключается мой вопрос
Какие последствия могут быть


Разговор глухого со слепым?

ЗЫ. Расходимся ребяты, это искусcтвенный интеллект бот.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121546
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из ответов я понял, что проблем с такими объемами не должно быть.
Спасибо за зерна в обсуждении.

Хот можно и выродить вопрос к академическому. Вопрос такой:
В базе нет пользователей.
Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int.
Какие проблемы начнутся раньше всего, если допустить что диски с бесконечной емкостью.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121565
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0

Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int.

На этом можно заканчивать воспринимать вопрошающего всерьез.
Приколист, что ли?

Проблема бесконечной транзакции в бесконечности транзакции.
ВашЪ КО.
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121608
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
Из ответов я понял, что проблем с такими объемами не должно быть.
Спасибо за зерна в обсуждении.

Хот можно и выродить вопрос к академическому. Вопрос такой:
В базе нет пользователей.
Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int.
Какие проблемы начнутся раньше всего, если допустить что диски с бесконечной емкостью.


Хот можно и выродить вопрос к академическому. Вопрос такой:
В базе нет пользователей. В сервере нет коннектов. Комната закрыта и тушите свет.
Вопрос: как порешить тех, кто создает транзакции?
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121796
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ч детства мечтал о:
vi0
разрабатывать для бд с пользователями, с рекомендациями по длительности транзакций в несколько десятков секунд
поэтому транзакцию в один час я воспринимаю как долгую
Но увы, жизнь оказалась жестока:
vi0
Вопрос такой:
В базе нет пользователей.
Внутри транзакции есть бесконечный цикл в котором выполняется вставка в таблицу со ста колонками типа int.
...и заплакал...
...
Рейтинг: 0 / 0
Проблема большой транзакции
    #40121807
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0,

авторКакие последствия могут быть писал выше - никаких. Последствия всегда зависят от условия задачи. А Вашем случае в базе нет пользователей, транзакция единственная. Может хоть год быть открытой, мешать нечему и некому.
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема большой транзакции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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