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

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

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

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

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

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

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


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