Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 September 14

PG

Pavel Gudkov 🕊 in SqlCom.ru - Стиль жизни SQL
Dmitriy Ivanov
В вашем случае я бы сделал схему секционирования по бинарному признаку, например добавил поле is_current_week bit, где 1 - текущая неделя, 0- все остальное и прописал доп условие в ваших запросах is_current_week = 1
а что касаемо структур таблиц? мне не вариант дописывать везде это условие, т.к. в коде запросов не 10 даже.
источник

KS

Kodd Shredinger in SqlCom.ru - Стиль жизни SQL
Pavel Gudkov 🕊
а как данные мигрировать? чтобы это было не ресурсозатратно?
Добавить поле дата и время и сделать по нему кластерный неуникальный индекс и далее в фоне определять перенос или оперативно-смотря как данные обрабатываются
источник

KS

Kodd Shredinger in SqlCom.ru - Стиль жизни SQL
Pavel Gudkov 🕊
а что касаемо структур таблиц? мне не вариант дописывать везде это условие, т.к. в коде запросов не 10 даже.
Представление навесить с обьединением двух таблиц, если неизвестно точно какие данные будут выбираться
источник

KS

Kodd Shredinger in SqlCom.ru - Стиль жизни SQL
Но лучше всё-таки определять к какой таблице надо обратиться
источник

KS

Kodd Shredinger in SqlCom.ru - Стиль жизни SQL
В секционировании вам бы тоже пришлось создавать секционированный кластерный индекс и заранее определять какие секции для большей производительности
источник

PG

Pavel Gudkov 🕊 in SqlCom.ru - Стиль жизни SQL
ну у меня по факту 2 секции, на primary и archive
источник

PG

Pavel Gudkov 🕊 in SqlCom.ru - Стиль жизни SQL
ну и + несколько запасных
источник

PG

Pavel Gudkov 🕊 in SqlCom.ru - Стиль жизни SQL
но я подумал что проще будет вторую БД сделать
источник

PG

Pavel Gudkov 🕊 in SqlCom.ru - Стиль жизни SQL
с архивными таблицами
источник

ДЗ

Дмитрий Зайцев... in SqlCom.ru - Стиль жизни SQL
Друзья, прочитайте правила, уважайте коллег, объединяйте сообщения
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Pavel Gudkov 🕊
но я подумал что проще будет вторую БД сделать
к такому подходу часто приходили, но делали так: жили в оперативной базе, а потом под конец года, или в начале следующего - копию оперативной прогружали как архив db -> db2019, а оперативную вычищали, подготавливалии к эксплуатации для нового года.
источник

О奧

Олег 奧列格 (Ào liè gé)... in SqlCom.ru - Стиль жизни SQL
Илья Есипов
Ребят, а как-то можно почистить журнал транзакций?
Если у вас база данных  в режиме FULL вам необходимо бекапить журнал транзакций
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Pavel Gudkov 🕊
Всем привет, подскажите по секционированию, хочу сделать архивацию данных которые старше одной недели, в ПО планирую сделать обновление ф-ции секционирования и мердж, дабы всегда держать только неделю. И чтобы не писать каждый раз условия на это неделю при выборке (чтобы выбиралась именно актуальная секция), я решил делать switch данных в другую таблицу. Вопрос: все ли я правильно понимаю и действительно ли нужно чтобы эти две таблицы имели одинаковую структуру?
Только две секции смысла нет делать. и выделять таблицу для старого тоже мало смысла, если у тебя будет хороший селективный индекс для данных за последнюю неделю и по нему будут критерии фильтрации в каждом запросе , что работает с последней неделей, то и так будет все хорошо работать
источник

PG

Pavel Gudkov 🕊 in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Только две секции смысла нет делать. и выделять таблицу для старого тоже мало смысла, если у тебя будет хороший селективный индекс для данных за последнюю неделю и по нему будут критерии фильтрации в каждом запросе , что работает с последней неделей, то и так будет все хорошо работать
Вопрос стоит просто не только о производительности, но и о переносе данных.
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Oleg Makarikhin
к такому подходу часто приходили, но делали так: жили в оперативной базе, а потом под конец года, или в начале следующего - копию оперативной прогружали как архив db -> db2019, а оперативную вычищали, подготавливалии к эксплуатации для нового года.
делали именно так потому, что в качестве хранилок были SAN с различной стоимостью терабайта дискового пространства.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Pavel Gudkov 🕊
Вопрос стоит просто не только о производительности, но и о переносе данных.
Ну а зачем их переносить?
источник

ИЕ

Илья Есипов... in SqlCom.ru - Стиль жизни SQL
Олег 奧列格 (Ào liè gé)
Если у вас база данных  в режиме FULL вам необходимо бекапить журнал транзакций
БД заполняется данными из другой базы. Через какое-то время полностью очищаются все таблицы и записываются новые данные.
источник

PG

Pavel Gudkov 🕊 in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Ну а зачем их переносить?
ну это уже не ко мне вопрос, сказали надо смотреть в сторону репликации и переноса
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Pavel Gudkov 🕊
Вопрос стоит просто не только о производительности, но и о переносе данных.
если вы можете позволить себе переносить не в рабочее время, а во время обслуживания, по ночам, на выходных,  например, то какая разница?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Pavel Gudkov 🕊
ну это уже не ко мне вопрос, сказали надо смотреть в сторону репликации и переноса
Ну так думай сам. Я тебе как раз и говорю, что НЕ НАДО смотреть в сторону переноса.

Хотя конечно я могу быть неправ, я не вижу всю картину.
источник