powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как быстро начнёт расти лог при такой схеме..?
18 сообщений из 18, страница 1 из 1
Как быстро начнёт расти лог при такой схеме..?
    #39863677
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Версия сервера: Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: ) (Hypervisor)

Хочу создать в агенте джоб, который каждые 20 минут будет делать
Код: sql
1.
truncate table myTABLE

а затем
Код: sql
1.
insert into myTABLE select * from myVIEW


В myVIEW чуть более 22000 записей и количество записей растет ~ на 100 в день.

Модель восстановления БД в которой находится myTABLE - FULL. Размер БД ~ Гб (Данные 500 Мб, Лог 2400 Мб).

Бекап транз.лога БД делается каждую ночь.

С вьюхой myVIEW (на которое смотрит Web-приложение) колдовали как могли.
Не получается добиться комфортной скорости отображения.
Решили обойтись "малой кровью" и натравить приложение на таблицу.

Вопрос: Начнет ли транзакционный лог БД расти быстрее при такой вот схеме " truncate - insert "?

Или может быть не мучаться и перевести БД в SIMPLE и бекапить её также раз в ночь?
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863679
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER,
надо объемы не в строках, а в Мб сообщать.
инсертите 100Мб за раз? в логе получите свои 100Мб и еще столько же зарезервирует под откат.

а вообще вы наверное единственные в мире, кто бэкапит ЛОГ раз в сутки.
не хотите, чтобы рос, вот и бэкапьте каждые 20 минут
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863681
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

нет, не 100МБ в день, а на 100 записей в день. Да, что-то забыл уточнить.
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863694
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULERYasha123,

нет, не 100МБ в день, а на 100 записей в день. Да, что-то забыл уточнить.Смысле не кол-ве строк, а к объеме данных в них.
Если там БЛОБ с кинофильмом, то даже 3 записи это уже немало.
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863695
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После включения кнопки Include Client Statistics
и выполнения запроса:
Код: sql
1.
SELECT * FROM myVIEW WHERE CheckDay = '2019-09-16' 


Получаю такую картинку:

Bytes received from server 41429.0000

т.е. примерно 40Кб
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863714
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULERт.е. примерно 40КбЛучше просто посмотреть размер таблицы myTABLE. Можно даже мышкой в SSMS

Если она действительно 40 кб, то ответ на вопрос:MAULERВопрос: Начнет ли транзакционный лог БД расти быстрее при такой вот схеме " truncate - insert "?будет такой: да, транзакционный лог БД начнёт расти быстрее, на 40 кб в сутки (ну, может, больше, но не принципиально).
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863719
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgтранзакционный лог БД начнёт расти быстрее, на 40 кб в сутки (ну, может, больше, но не принципиально).
ну как же в сутки-то, если он каждые 20 минут собрался транкейтить и инсерить?
авторХочу создать в агенте джоб, который каждые 20 минут будет делать
это 3 раза в час * 24 часа * объем таблицы
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863720
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg, Спасибо за ответ.

Дело в том, что myTABLE ещё нет. Есть только въюха, которая содержит в себе ~22000 записей за все дни, а выборка по конкретному дню из этой въюхи, как раз и содержит ~100 записей размером 40Кб.
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863726
Massa52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER,
А почему транкейт, может просто 100 записей добрасывать?
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863729
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Massa52,
Нет, там во вьюхе, записи недельно-месячной давности могут измениться, либо вообще исчезнуть.
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863734
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще тут какой-то нонсенс: всего 500Мб в базе,
в любую память влазит полностью аж несколько раз,
сервер вообще Энтерпрайз (т.е. уж памяти точно больше гига)
строк на выходе тьфу и обчелся, а скорость их не устраивает.
такое даже нарочно не придумаешь
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863738
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что там во вью,
100 джойнов по условиям типа OR?
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863739
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULERMassa52,
Нет, там во вьюхе, записи недельно-месячной давности могут измениться, либо вообще исчезнуть.
Для этого есть конструкция MERGE
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863740
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

Да, там логика формирования вьюхи myVIEW достаточно сложная, задействовано около десятка других таблиц и вьюх.
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863761
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123alexeyvgтранзакционный лог БД начнёт расти быстрее, на 40 кб в сутки (ну, может, больше, но не принципиально).
ну как же в сутки-то, если он каждые 20 минут собрался транкейтить и инсерить?
авторХочу создать в агенте джоб, который каждые 20 минут будет делать
это 3 раза в час * 24 часа * объем таблицыОй, да, вы правы, это будет почти 3 мегабайта (ТРИ Мегабайта!) в сутки, разумеется, это неприемлемая нагрузка на Системы Хранения :-)
MAULERДело в том, что myTABLE ещё нетТак выполните
Код: sql
1.
2.
select * into myTABLE from myVIEW where <ваши условия, что бы получилась 
выборка по конкретному дню ~100 записей размером 40Кб.>

, и потом посмотрите размер.
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863769
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgОй, да, вы правы, это будет почти 3 мегабайта (ТРИ Мегабайта!) в сутки, разумеется, это неприемлемая нагрузка на
знаете, у меня на днях ребенок побежал покупать арбуз.
бабушка ему сказала: арбузы по 0.19 продают.
так он взял двадцадчик одной монеткой и убежал покупать.
возвращается возмущенный: так это было 0.19 за кг?
---
что за кг, что за 20 кг, это не деньги.
весьма "приемлемая нагрузка" для нашего кошелька.
но если кто-то не умеет считать или не понял условия,
то когда он кричит о приемлемости он просто еще раз прилюдно это признает
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863851
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER,

если не устраивает скорость отображения из myVIEW и нет возможности или нежелательно добавлять новые индексы для этого представления, то необходимо вместо преставление создать витрину данных (пожертвовать местом хранения). В простейшем случае - это индексированное представление, которое материализуется. В более сложно случае - таблица, которая наполняется триггерами, возможно, асинхронно или через средство CDC.
...
Рейтинг: 0 / 0
Как быстро начнёт расти лог при такой схеме..?
    #39863871
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо.
Сначала попробую с таблицей. Если всё будет страшно, попробую добавить логику обновления таблицы глубиной в месяц. Возможно придется подключить MERGE (как советовали ранее).
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как быстро начнёт расти лог при такой схеме..?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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