Имя: Пароль:
1C
1С v8
Размер mdf
0 Rounder
 
08.03.18
09:10
8.2.15.294
MSSQL

Есть простейшая по структуре БД. Была 17 Гб. Было необходимо увеличить размерность наименования одного (основного) справочника с 20 до 30 символов. После принятия изменений база стала размером в 2 раза больше (mdf-файл). Разве так должно быть? Можно ли уменьшить размер mdf-файла, если да - то как?

Спасибо.
1 shuhard
 
08.03.18
09:12
(0)[Разве так должно быть? ] да
[Можно ли уменьшить размер mdf-файла] нет
[что делать] смотреть индексы - думать
2 nordbox
 
08.03.18
09:23
(1) Он еще не видел больших mdf )
3 Diman000
 
08.03.18
09:28
(0) "Разве так должно быть?".
Так может быть.
Уменьшить размер mdf можно сжатием базы средствами SQL-сервера.
Но на продуктивной базе делать это крайне не рекомендуется.
База растет не просто так. Тут я деталей не знаю, это борьба с фрагментацией или еще что-то, но распухшая база работает гораздо быстрее сжатой - это факт.
4 Rounder
 
08.03.18
09:32
Всем спасибо за ответы.
(2) Каждый работает в своих условиях. И думаю если бы твоя БД после такого действия вырасла в размерах с 1 Тб до 2 ТБ, то ты бы задался таким же вопросом как и я, "хоть и видел большие...".
5 Rounder
 
08.03.18
09:36
*вырОсла
6 mexanik_96
 
08.03.18
09:41
сжатие сделай
7 Diman000
 
08.03.18
09:41
(4) У меня продуктивная база несжатая примерно в 5 раз больше, чем сжатая.
Но мы делаем сжатие только в копиях для разработчиков.
8 mehfk
 
08.03.18
09:44
(4) База на 1Тб на 1С, в которой все данные занимает один справочник - такого еще свет не видывал :))))))))))))))
9 mexanik_96
 
08.03.18
09:45
(8) дак а че удивительного хранить строки неограниченной длины
10 mexanik_96
 
08.03.18
09:45
(9) или бинари, фоточки там всякие...
11 mehfk
 
08.03.18
09:52
Включай голову.
12 spectre1978
 
08.03.18
10:06
(3) Но на продуктивной базе делать это крайне не рекомендуется -- хм, первый раз такое слышу. Почему?
13 Rounder
 
08.03.18
10:09
(8) Нужно читать все, а не выборочно. Это был ответ товарищу (2), который кичился тем, что видывал "большие". В моем случае как и написано в (0) база размером 17 Гб была.
14 nordbox
 
08.03.18
10:15
(13) Во первых ни кто не кичился, во вторых ты спрашиваешь в принципе очевидные вещи, как будто ты первый раз их видишь. Ты хотел что бы база уменьшилась в два раза?
15 Diman000
 
08.03.18
11:38
(12) Я же написал почему.
"База растет не просто так. Тут я деталей не знаю, это борьба с фрагментацией или еще что-то, но распухшая база работает гораздо быстрее сжатой - это факт."
Вот еще пруфы.

http://www.oszone.net/13477/SQL-Server
"Вопрос: Иногда нам приходится запускать процедуру сжатия баз данных из-за нехватки места на диске, хотя мы в курсе, что это может снизить производительность."

https://msdn.microsoft.com/ru-ru/library/ms189035(v=sql.105).aspx

"Данные, перемещаемые в результате сжатия файла, могут быть разбросаны по любым его фрагментам. Это приводит к фрагментации индекса и может снизить производительность обработки запросов, которые производят поиск в диапазоне индекса. Для предотвращения фрагментации после сжатия необходимо перестроить индексы в файле."
16 spectre1978
 
08.03.18
13:29
(15) Про "не рекомендуется" там ничего нет. Дефрагментация индексов - такая же регламентная операция, как и сжатие базы.
17 Cool_Profi
 
08.03.18
14:00
Сжатие файла базы данных нужно делать в два этапа.
Первый - дефграгментация или перестройка индексов.
Второй - расслабиться и закурить (для сторонников ЗОЖ - выпить овсяного отвара).
А сжимать MDF нужно только в том случае, если на диске закончилось место.
Ибо размер физический и размер бекапа никак не связаны.
Ну, если вы не бекапите акронисом (например)
18 Diman000
 
08.03.18
15:26
(16) Я ни разу не видел, чтобы сжатие базы повышало производительность. Но видел как понижало и дефрагментация индексов не сразу помогала.
Поэтому я написал, что "не рекомендуется".
Но вы можете опираться на свой опыт, экономить на дисковом пространстве и сжимать базу каждую ночь.
Независимо от того, куда вы едете — это в гору и против ветра!