powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql размер баз
15 сообщений из 15, страница 1 из 1
mysql размер баз
    #39634106
tadeyiloda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
du -sh /var/lib/mysql
22G /var/lib/mysql

при этом mysqldump -u -A > all.db.sql файл всего 3 гб
почему?
...
Рейтинг: 0 / 0
mysql размер баз
    #39634137
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadeyilodaпочему?А почему нет?

Вы разбирались, что именно занимает 22Г ?
...
Рейтинг: 0 / 0
mysql размер баз
    #39634147
tadeyiloda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в /var/lib/mysql 150 каталогов с таблицами, каждый каталог по 150 мб
в сумме сходится но очень увидило что такая большая разница по сравнению с экспортом
...
Рейтинг: 0 / 0
mysql размер баз
    #39634154
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadeyiloda,

таблицы на каком движке?
...
Рейтинг: 0 / 0
mysql размер баз
    #39634157
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычное дело, в общем то.
Индексы занимают какое-то место на диске, но в дамп не попадают. Бывают случаи, когда индексы весят больше, чем данные в таблице.
Поля фиксированной длины, вроде CHAR(250) при более коротких хранящихся данных тоже вносят свою лепту.
Бывает, используют тип INT для хранения небольших чисел.
Ну и таблицы, в которых много строк удалено.
На InnoDB файлы хранилища умеют только расти.
Так и набегает по мелочам. Что-то ещё, что сходу забыл, наверняка есть...
...
Рейтинг: 0 / 0
mysql размер баз
    #39634201
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleНа InnoDB файлы хранилища умеют только расти.но если включен innodb_file_per_table, то можно уменьшить размер файлов командой OPTIMIZE TABLE.
...
Рейтинг: 0 / 0
mysql размер баз
    #39634280
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleБывает, используют тип INT для хранения небольших чисел.
кстати, в поле int цифра 1 займёт 4 байта или 1?
а в Oracle?
...
Рейтинг: 0 / 0
mysql размер баз
    #39634281
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78кстати, в поле int цифра 1 займёт 4 байта или 1?4
INT всегда занимает 4 байта.
tip78а в Oracle?а в Oracle разве есть тип INT ?
тип NUMBER, обычно используемый в Oracle для хранения чисел, имеет переменную длину.
...
Рейтинг: 0 / 0
mysql размер баз
    #39634282
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, для Nullable-полей еще один байт тратится на хранение статуса NULL.
...
Рейтинг: 0 / 0
mysql размер баз
    #39634306
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksofttip78кстати, в поле int цифра 1 займёт 4 байта или 1?4
INT всегда занимает 4 байта.
а tinyint хоть 1 занимает?
в постгресе вот нет tiny/medium
там всегда либо 2, либо 4
ну это же дичь!
почему нельзя было по размеру цифры сделать то

авторИ, кстати, для Nullable-полей еще один байт тратится на хранение статуса NULL.
ну они того стоят, ибо оч.удобные
...
Рейтинг: 0 / 0
mysql размер баз
    #39634311
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78а tinyint хоть 1 занимает? https://dev.mysql.com/doc/refman/5.7/en/integer-types.html
...
Рейтинг: 0 / 0
mysql размер баз
    #39634501
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то не похоже, чтобы в постгресе у bigserial всегда было 8 байт...
это уж слишком большая дичь
...
Рейтинг: 0 / 0
mysql размер баз
    #39634545
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78,

отчего же? Впрочем, bigserial вообще не существует на диске - это bigint. И он всегда 8 байт, в независимости от того, записали вы в него 0 или 2^46.
Вы не учитываете, что значения фиксированной ширины и динамической - это tradeoff между занимаемым местом и циклами CPU. Напишите простенькую функцию на любом языке по хранению числа по размеру значений. Затем к этому форматы добавьте элементарные математические операторы, посмотрите на полученный код. Затем осознайте, что для простого 8-байтного bigint фиксированной ширины в 64-битном CPU это было бы лишь одной командой процессора и лишь одним обращением в память за нужным значением. Без любых ошибок предсказания переходов, ветвлений и прочих чудес низкоуровневой жизни CPU.

postgresql вообще выравнивает данные по машинному слову и две таблички с идентичными полями указанными в разном порядке могут занимать разный дисковый объём.
...
Рейтинг: 0 / 0
mysql размер баз
    #39634578
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну это понятно
непонятно, почему вот этот товарищ говорит, что "extra 4 bytes doesn't matter" (2:55)
таблица, где нужен bigserial, это уже 3 ярда, т.е. 12 гигов сверху... хм
YouTube Video
...
Рейтинг: 0 / 0
mysql размер баз
    #39634580
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее: таблица, где ещё НЕ нужен bigserial это 2 ядра и 8 гигов сверху
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql размер баз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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