Как оценить объем базы данных
Как узнать размер базы данных в Microsoft SQL Server?
Иногда у разработчиков или администраторов Microsoft SQL Server возникает необходимость узнать размер базы данных, поэтому сегодня, специально для начинающих, я покажу несколько возможностей получения данной информации.
Надеюсь, Вы понимаете, что все действия, которые мы будем рассматривать в данном материале, требуют определенных знаний в части Microsoft SQL Server и языка T-SQL, поэтому если Вы новичок, то я Вам рекомендую предварительно или после прочтения данной статьи и в случае возникновения тех ли иных вопросов, ознакомиться со следующими материалами:
Итак, давайте начинать, причин, по которым Вам может потребоваться узнать размер базы данных, много, также и способов это сделать тоже много. Начнем мы с самого простого, который показывает общий размер базы данных, причем все действия Вы будете делать с помощью мышки.
Примечание! В качестве СУБД в примерах ниже будет использована версия Microsoft SQL Server 2016 Express. На данном экземпляре SQL сервер создана база данных TestBase, размер которой мы и будем узнавать.
Узнаем размер базы данных с помощью SQL Server Management Studio
Данный способ подразумевает использование графического инструмента SQL Server Management Studio и заключается он в открытие свойств конкретной базы данных, где как раз и есть информация о ее размере.
Для того чтобы узнать размер базы данных с помощью Management Studio, открываем ее и в «Обозревателе объектов» выбираем нужную базу данных, кликаем по ней правой кнопкой мыши и выбираем «Свойства».
В итоге у Вас откроется окно «Свойства базы данных», в котором будет отображено много информации. На вкладке «Общие» в разделе «База данных» есть свойство «Размер» — это как раз размер базы данных.
Данный способ, может быть, будет не удобен, если Вам, например, необходимо узнать размер каждого файла, который относится к базе данных (например, отдельно файл с данными и журнал транзакции) или у Вас несколько баз данных и Вам необходимо получить сведения сразу по всем.
Узнаем размер базы данных с использованием системной процедуры sp_helpdb
Следующий способ, можно сказать классический, подразумевает использованием системной хранимой процедуры sp_helpdb, которая может показать информацию как по одной базе данных, для этого в качестве параметра передаем имя базы данных, так и по всем, т.е. запускаем без параметров. В случае если мы указали конкретную базу данных, то SQL сервер нам вернет дополнительный результирующий набор, в котором мы увидим информацию обо всех файлах, относящихся к данной БД, включая их размер.
Как видите, нам вернулось два результирующих набора, первый общий, второй для каждого файла. Этот способ может быть для некоторых тоже не удобен, за счет того, что здесь мы используем процедуру. Поэтому переходим к следующему способу, который, как мне кажется, на текущий момент самый универсальный.
Определяем размер базы данных с помощью системного представления sys.database_files
Данный способ заключается в использовании системного представления sys.database_files, которое также возвращает много полезной информации в разрезе файлов базы данных.
Например, давайте с помощью данного представления определим общий размер базы данных в мегабайтах, а также размер каждого файла в текущей БД.
Размер базы данных в SQL сервере отображается в страницах по 8 КБ, поэтому для того чтобы посчитать размер БД в мегабайтах мы должны число, которое нам возвращает SQL сервер, не только поделить на 1024, но и умножить на 8, в примере выше использована сокращенная запись данной операции (1024/8=128), которая обычно используется в официальной документации.
В случае необходимости получить информацию о размере всех баз данных находящейся на текущем экземпляре SQL сервер, можно использовать представление sys.master_files, которое возвращает сведения обо всех файлах баз данных, расположенных на SQL Server.
Как Вы заметили, все три способа вернули нам одинаковый результат, так и должно быть, какой из способов Вам будет удобней использовать в той или иной ситуации, решать, конечно же, Вам, а у меня на этом все, удачи!
Размер базы данных MySQL
Но сколько занимает ваша база данных? А каждая таблица? Для больших проектов эти показатели могут достигать очень больших значений. В сегодняшней статье мы поговорим о том, как узнать размер базы данных MySQL через консоль и другими способами.
Размер базы данных MySQL
SELECT table_schema AS «Имя базы данных»,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS «Размер в Мб»
FROM information_schema.TABLES
GROUP BY table_schema;
Запрос выведет точный размер базы MySQL для каждой из существующих баз, теперь вы можете ориентироваться что и сколько занимает. Если у вас очень большой проект и большая база данных, то вы можете выводить информацию в гигабайтах:
SELECT table_schema AS «Имя базы данных»,
ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS «Размер в Гб»
FROM information_schema.TABLES
GROUP BY table_schema;
Но это еще не все. Возможно, в базе данных есть ненужная информация, которая только замедляет работу системы. Мы можем посмотреть размер таблиц для каждой из баз данных. Запрос для этого будет выглядеть следующим образом:
SELECT table_name AS «Имя таблицы»,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS «Size in (MB)»
FROM information_schema.TABLES
WHERE table_schema = «wpfc_options»
ORDER BY (data_length + index_length) DESC;
Данная информация помогает понять какая таблица сколько занимает и это уже может навести на интересные мысли.
Размер базы данных в Phpmyadmin
Если вы не очень любите работать в терминале, то вы всегда можете использовать Phpmyadmin для просмотра размера базы данных. Размер каждой из таблиц базы данных вы можете посмотреть на вкладке «Структура», когда выберите базу данных для работы:
Что касается размера самой базы данных, то придется выполнить тот же запрос в интерфейсе программы на вкладке «SQL»:
Выводы
В этой небольшой статье мы рассмотрели как узнать размер базы данных MySQL несколькими способами. Если у вас остались вопросы, спрашивайте в комментариях!
Оценка размера информационной базы
Эта обработка позволит вам узнать какие именно объекты мешают вашей базе быть худой и стройной.
Также позволяет узнать структуру хранения базы на SQL, предоставляя имена таблиц, возможность очистить таблицу непосредственно из 1С.
Скачать файлы
Специальные предложения
Обновление 01.11.09 00:00
Код открыт Не указано
См. также
Универсальная обработка для статистики базы данных (документы, справочники, регистры, отчеты) с отбором по подсистемам, отбор документво по организациям и с анализом наличия основных реквизитов (организации, контрагенты, договора, номенклатура, сотрудники, физлица, валюта). Ограничений или проблем в использовании в различных конфигурациях пока не встречал. Возможность просмотра списка документов или справочников или регистров при активизации в колонке «Документы, справочники, регистры, отчеты» в текущей строке. Полезная обработка для консультации пользователей, где искать метаданные в каком интерфейсе, т.к. подсистема указывает в каком интерфейсе находятся метаданные (документы, справочники, регистры, отчеты). При конвертации данных, удобно контролировать статистику загрузки данных в пустую базу приемник при тестировании.
20.02.2017 22839 59 strelec13 17
Список объектов
Универсальная обработка Список объектов (справочники, документы и т.д.) для управляемого приложения, включая веб-клиент.
21.12.2021 625 3 adhocprog 0
Анализ последних изменений данных пользователем. Активен или простаивает? Можно ли безболезненно завершить сеанс?
Обработка показывает 50 последних событий изменения/добавления/удаления документов или элементов справочников (а также события проведения документов) по выбранному пользователю. Управляемые формы.
15.10.2021 1272 0 Нейросоучастник 6
Отчет с информацией о количестве созданных пользователем документов в базе 1С (проведенных и нет)
Кто из пользователей активнее всех создает документы, бухгалтер Иванова или Петрова? У кого их максимальное количество за прошлый год и каких видов? Нужны ли Кривцову права на добавление «реализации товаров» или он никогда их не создает? Данный отчет поможет Вам ответить на эти вопросы.
30.08.2021 1315 4 nissti 1
Статистика работы пользователя Промо
17.07.2011 52357 438 imozg 63
Подсчет количества документов в информационной базе
25.03.2021 2861 19 Cohap 9
Простое логирование действий системы
Маленькое расширение для быстрой организации записи и просмота логов действий системы
21.03.2021 4311 3 Yashazz 3
Анализ количества справочников и документов за период
Универсальная обработка для анализа количества справочников и документов в базе за период. Подходит для любых конфигураций.
05.03.2021 2287 8 mangushov 1
Отчет по конфигурации: «Справочники, документы, регистры. Подсчет количества записей и переход в форму списка объекта» Промо
Отчет даёт моментальное представление о качественном и количественном заполнении базы данных по видам справочников, документов, регистров (накопления, бухгалтерии, сведений). Отбор документов по периоду, по организации (при наличии такого реквизита). Авто установка фильтра по периоду, по организации при переходе в форму списка. Отбор регистров по периоду (кроме непериодических регистров сведений), по организации (при наличии такого измерения). Авто установка фильтра по периоду, по организации при переходе в форму списка. Дополнительный подсчёт количества справочников, документов по статусу «Помечен на удаление» в отчёте. Авто установка фильтра по статусу «Помечен» при переходе в форму списка. Дополнительный подсчёт количества документов по статусу «Проведён / Не проведён». Авто установка фильтра по статусу «Проведён» при переходе в форму списка. Двойной клик по ячейке отчёта выполняет переход в форму списка выбранного справочника, документа, регистра (накопления, бухгалтерии, сведений).
19.03.2012 35082 245 Designer1C 10
Отчет формирует список основных метаданных (документы, справочники, регистры сведений, планы видов характеристик). Выводит количество элементов для справочников и планов видов характеристик, общее количество и количество проведенных для документов, количество записей для регистров сведений.
16.12.2020 3635 13 Svb84 4
Получение данных по количеству документов и справочников в базе данных
Обработка показывает количество документов в базе, а также количество элементов справочников, писалась как затычка при написании правил обмена, нужно было понять, какие документы и справочники переносит, обработка показывает количество элементов справочка и также количество документов в базе данных
19.11.2020 2707 6 costy_admin 0
Создание физической модели базы данных. Подготовка скрипта для создания базы данных
Оценка размера базы данных
Размер базы данных во многих практических ситуациях является критическим параметром ее эксплуатации. Проектировщик БД должен уметь оценивать как размер БД, так и возможный ее рост во времени.
Отправной точкой решения задачи оценки размера БД является вычисление размера каждой таблицы БД. Чтобы это сделать, необходимо вычислить размер каждой колонки в таблице и на основании этих данных оценить размер самой таблицы. Далее следует оценить размер всех индексов, представлений и других объектов.
Поскольку ОС распределяет память под файлы в страницах, то при вычислении размера базы данных необходимо оценить число страниц, которое она занимает. Для ОС типа Windows размер страницы составляет 1024 байта.
Формулы для оценки размера БД
С целью упрощения вычислений размера базы данных, в настоящем разделе мы будем проводить вычисления на примере СУБД SQLBASE. Размер базы данных может быть оценен по формуле
Перед тем как вычислить размер таблицы, необходимо вычислить размеры всех ее колонок.
Как правило, в определении таблицы задаются максимальные размеры полей указанного типа для данной предметной области. Например, предполагается, что колонка адреса компании не будет занимать более 50 символов. С другой стороны, на практике, на реальных данных средний размер колонки адреса компании может составлять 30 символов. Расчет размера базы данных целесообразно проводить исходя из среднего размера колонок таблиц.
Типичные размеры колонок заданного типа приведены в таблице 13.2 ниже.
| Тип данных | Размер колонки |
|---|---|
| Character | Число символов в строке |
| Number | [(NumberOfDigits + 2)/ + 1 байт |
| Date | 5 байт |
| DateTime | 12 байт |
| Long varchar | 12 байт плюс число сраниц для хранения данных |
Размер строки таблицы определяется как сумма размеров всех ее колонок по формуле
Вычисление размера индекса. Для каждого созданного B-Tree индекса его размер оценивается следующим образом: вычисляется размер индексного ключа, оценивается число строк в таблице, затем оценивается число страниц, которое занимает индекс. Расчет выполняется по формулам, приведенным в таблице 13.5.
Вычисление размера заголовка представления. Для каждого представления существует фиксированная часть заголовка и переменная часть заголовка, которая зависит от его сложности. Формулы для расчета размера заголовка представления приведены в таблице 13.6.
| Параметр | Формула |
|---|---|
| Fixed_Overhead | = 12 * 1024 |
| Variable_Overhead | = 150 * число_таблиц + 170 * число_колонок |
| Variable_Overhead_all_Views | Variable_Overhead для всех представлений |
| Total_View_overhead_in_Page | = [(Fixed_Overhead + Variable_Overhead + Variable_Overhead_all_Views)/1024] |
Размер базы (файла).
где 

В зависимости от типа структуры данных могут быть различные формулы вычисления объема базы данных или файла.
Обычно, для упрощения расчетов объема базы вычисляют средний размер одной записи и умножают его на количество записей в базе данных.
При построении логической структуры базы данных вычисляют:
— количество полей в записи и размер записи;
— количество записей в базе;
— число байтов в базе (основной объем базы).
Привязка к физической структуре, т.е. отображение в пространство хранения даёт оценку объёма памяти, которая может значительно отличаться от оценки при логическом проектировании.
Объём физической структуры определяется в единицах пространства хранения данных и зависит от:
— структуры данных, ее физическая реализация;
— применяемых технических средств;
Объем измеряется в байтах, цилиндрах, дорожках и т.п.
Для примера отметим, что при физической реализации базы данных объем, рассчитанный на основе логической структуры, увеличивается, например, из-за:
— наличия служебных полей (ссылки, указатели, коды записей, индексы и др.);
— физических промежутков при размещении информации на носителе;
Пределы увеличения объема базы (реже уменьшения) могут быть различными. Как правило, это в пределах 1-2 раза, в среднем 1,5 раза.
Линейная структура: Иерархическая структура:
| А1 | У1 |
| А2 | Д1 |
| А3 | Д2 |
| А4 | Д3 |
| А5 | Д4 |
| А6 | Д5 |
| А7 | Д6 |
| А8 | Д7 |
| А9 | Д8 |
| А10 | Д9 |
| А11 | Д10 |
| У узел | Д деталь |
![]() | |
| У1 | Д1 |
| У1 | Д2 |
| У1 | Д3 |
| У1 | Д4 |
| У1 | Д5 |
| У1 | Д6 |
| У1 | Д7 |
| У1 | Д8 |
| У1 | Д9 |
| У1 | Д10 |
![]() |
Длина поля У (узел) = 15,
длина поля Д (деталь) = 20,
длина поля А (адресной ссылки) = 4.
Размер линейной структуры Размер иерархической структуры
равен L=(15+20)*10=350 равен L=(4+20)*10+15+4=259
Обратим внимание на то, что в линейной структуре повторяется (дублируется) несколько раз значения поля “узел”. Это избыточная информация. В принципе, избыточный объем равен 15*9=135 байтам. В иерархической структуре нет дублирования поля “узел”, но вместе с тем платой за это является наличие адресных ссылок.
Итак, одни и те же данные занимают разный объем памяти в линейной и иерархической структуре (350 и 259). Соответственно и объемы баз данных, реализованных разными моделями структуры данных, будут различны.
Активность данных.
kj — количество обращений к полю j,




















Variable_Overhead для всех представлений



