#0
by gar_den
База весит 160Гб, а объем всех таблиц 37 Гб - вместе с индексами и с unused. Что в ней еще так много весит?
#9
by gar_den
По поводу пустого пространства: 74 Гб по свойствам. Даже учитывая его все 160 - 74 = 86 - и то в 2 раза больше чем все таблицы
#12
by fisher
Почитай что-нибуть толковое по-поводу устройства и особенностей работы баз MS SQL. Я, в своё время, кажись статью какую-то нарыл на sql.ru Много вопросов отпало. Кратко: ldf из расчетов отбрасываем сразу, это служебная хрень. mdf кроме данных всегда содержит пустое место. По многим причинам. 1) растет он всегда с запасом, чтобы минимизировать запросы к оси на доп-место (это одна из самых медленных операций) 2) фрагментируется 3) освободившееся пространство никогда добровольно оси не возвращается (по той же причине, что и п.1) К тому же, кроме исходных данных есть еще индексы, статистика и другая служебная информация, которая тоже место занимает.
#13
by fisher
Вообще, в утилите администрирования MS SQL давным давно (в 2000 точно уже было) можно посмотреть соотношение пустого места к полезному в ldf и mdf в удобном графическом виде.
#14
by gar_den
а как можно узнать какой реквизит сколько занимает места? например у меня в документе 8 реквизитов. Могу я как-то в скуле посмотреть какая колонка в таблице сколько весит?
#15
by vde69
+ еще нужно учитывать, что SQL имеет страничную структуру хранения, и во первых всегда есть пустые страницы (после транзакции), во вторых что заполнение страниц не 100% всегда есть пустое место, в среднем это около 30%
#18
by vde69
нет конечно, иногда больше иногда меньше, это зависит от данных... размер страницы условно фиксированый, например 512к (точный размер я не помню), если при транзакции записывается только 10к, то после фиксации или откате (пофигу), останется 1 страница, правда она будет исползована для следующей транзакции, но если делаешь БОЛЬШУЮ транзакцию, например на 1 гиг, то этот гиг резервируется а после транзакции забиватся данными будет медлено. Кроме того те-же строки неограниченой длины если они более 2к добавляют 1 страницу, тоесть если у тебя строка 2500 символов - то 2024 будет записано в основную таблицу а под 476 будет выделена отдельная страница (512к)
#21
by vde69
- используется только как некая стратегия (ограничивающая нижний предел), фактическое выделение страниц зависит только от данных и транзакций
#22
by Axel2009
размер 1ой страницы 8кб. новые страницы заполняются под значение филфактори у таблицы, которое по умолчанию равно 70%. только unused это ловить должен сносно. строки неограниченной длины в страницах данных не хранятся вообще. там хранится только ссылка на место, где это значение хранится.
#23
by vde69
не знаю как сейчас, раньше блобы хранились именно так, часть в основной а если не влезло - то отдельно, это было сделано для поиска по заголовку
#25
by Axel2009
раньше - с какого места? еще с 2000 скуля так было. и какой поиск по заголовку (что сие "заголовок" значит) вас интересует?
#28
by Axel2009
в базе 118 - 37гб пустого места у sp_spaceused есть 2 таблицы на выход database_name database_size unallocated space -------------------------------------------------------------------------------------------------------------------------------- ------------------ ------------------ td82 9240.31 MB 3199.77 MB reserved data index_size unused ------------------ ------------------ ------------------ ------------------ 4367792 KB 2462520 KB 1848064 KB 57208 KB
#30
by gar_den
в том что в базе в 40 Гб 120 Гб свободного места - это и беспокоит. Если шринкану можно выйти в итоге на 40?
#31
by Живой Ископаемый
2 как видишь, уже указали причины которые могут объяснить это поведение. И уже понятно что где это все написано. Следующий шаг - это понимание того, что как с этим справляться - также описано там же.
#35
by Axel2009
ну вот видите. 72 + 37 = 110 + 45 ~ 160ГБ что вы и говорите. шринк базы и вперед и с песней.
#36
by fisher
Шринк не панацея. Если хитро фрагментировано - он только чуток срезать с конца сможет. А шринк с дефрагментацией - сильно накладная операция. Я бы вообще не парился, если данные к пустому месту в mdf 1:1 А ldf - отдельная песня
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- 1cv8 SQL: Имя SQL сервера и имя SQL базы данных
- SQL, подскажите чайнику, файл log, весит в 8 раз больше dat файла...
- SQL база слишком много весит. Как бы это отрегулировать...
- SQL -ная база. Как заставить переинтексировать базу средствами SQL?
- Большая база 1с. хочу посмотреть что весит больше всего. какие данные
- Восстановление бэкапа SQL требует в 6 раз больше места, чем весит база
- База 1с на SQL весит 24 Гига. В чем дело?
- РАУЗ УПП - почему в файловом варианте база проводится быстрее чем в SQL?
- РБД ЦБ - ПБ как Бух база -Опер база. Есть ли разница?
- Файловая база пишет не найдена лицензия, база на СУБД работает
- Почему файловая база быстрее чем SQL
- Облагаемая база ФСС и облагаемая база ФСС НС
В этой группе 1С
- Можно в УПП штатно удалить задачи за период?
- Подскажите как в СКД в шапку месяц написать.
- 1c v8.2 password viewer
- v8: Не показывает тексты модулей в 1с 8
- v8 ЗУП 2.5.30.4. Общий облагаемый доход: в Расчетном листке...(отрицательный)
- ЗУП 2.5 Северная надбавка - как прекратить
- v7: Справочник контрагентов- есть вопрос
- УТ 10.3.13.2 Указываем склад в табличной части.
- СКД. Таблица. Вывод строк после колонок.
- v8: УПП програмное создание элементов справочника и документов
- Установленный на счете вид субконто может быть удален в режиме "1С:Предприятие"
- КА: Передача товаров - разница в проводках и М-15
- Метаданные: как перебрать реквизиты проводки ?
- Запрос к свойствам номенклатуры
- Начисления з/п в ЗУП в зависимости от табеля
- Запуск внешней обработки. Предопределенные функции и процедуры.
- ЕНВД попадает в КУДИР
- Как проверить соответствует ли имя файла заданной маске?
- Как сделать список документа в виде иерархии
- Программно установить вариант отчета СКД