Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Database Size5 MB / 8 сообщений из 8, страница 1 из 1
16.12.2016, 20:20
    #39368992
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
Сколько влазет в базу, у которой лимит "Database Size5 MB" ?
Как оценить?
...
Рейтинг: 0 / 0
16.12.2016, 20:26
    #39368995
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
Да почти те самые 5 метров и влезут. Накладные расходы там копеечные.
Вот только на запрос Database size limit документация MySQL недоумённо захлопала глазками... что имеется ввиду-то?
...
Рейтинг: 0 / 0
16.12.2016, 20:56
    #39369006
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
Akina,
имеется ввиду сколько данных - текстовых или других записей влезет в такую таблицу, чтобы ее размер не вышел за 5 Мb.
Другими словами, есть база, в ней таблица, в таблице только две колонки: id и переменный текст (до 50 символов)
Сколько строк влезет в такую таблицу, чтобы размер не превысил 5 Мb?
...
Рейтинг: 0 / 0
16.12.2016, 20:57
    #39369007
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
это только пример данных таблицы -вопрос только в том, как оценить сколько данных влезет
...
Рейтинг: 0 / 0
16.12.2016, 22:25
    #39369034
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
rema174как оценить сколько данных влезет
Структура хранения вполне вменяемо описана в документации
ID в зависимости от типа может требовать от 2 байт и до бесконечности. Кстати, тип мог бы указать.
Если под "переменный текст до 50 символов" имеется в виду VARCHAR(50), то в зависимости от charset и собственно значения он может занимать от 1 до 201 байта.
Дополнительные расходы определяются движком. Для InnoDB это будет 6 байт на запись.
Если есть индексы - их тоже надо учесть. Если ID - это первичный индекс, плюсуй ещё 6+id_size байт.
Теперь остаётся учесть размер страницы в файле данных и средний процент заполнения страниц, что определяется настройками сервера, файловой системой и историей данных. В общем, можно смело считать, что 20% в никуда.

В самых обычных условиях, если у тебя кириллица и bigint, в 5 метров влезет порядка 30 тыс. записей.
...
Рейтинг: 0 / 0
16.12.2016, 23:00
    #39369051
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
AkinaЕсли ID - это первичный индекс, плюсуй ещё 6+id_size байт.Наоборот, насколько помню. Если нет первичного ключа, то добавлять 6 байт на его внутренний эквивалент.
...
Рейтинг: 0 / 0
17.12.2016, 10:20
    #39369158
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
miksoftAkinaЕсли ID - это первичный индекс, плюсуй ещё 6+id_size байт.Наоборот, насколько помню. Если нет первичного ключа, то добавлять 6 байт на его внутренний эквивалент.
Так ещё метку транзакционной видимости хранить надо, innodb же mvcc. 6 байт как раз есть такое поле для идентификатора транзакции.

http://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.html
мануалInternally, InnoDB adds three fields to each row stored in the database. A 6-byte DB_TRX_ID field indicates the transaction identifier for the last transaction that inserted or updated the row. Also, a deletion is treated internally as an update where a special bit in the row is set to mark it as deleted. Each row also contains a 7-byte DB_ROLL_PTR field called the roll pointer. The roll pointer points to an undo log record written to the rollback segment. If the row was updated, the undo log record contains the information necessary to rebuild the content of the row before it was updated. A 6-byte DB_ROW_ID field contains a row ID that increases monotonically as new rows are inserted. If InnoDB generates a clustered index automatically, the index contains row ID values. Otherwise, the DB_ROW_ID column does not appear in any index.
Мануал говорит, что на каждую строку оверхед 6+7+6 = 19 байт. clustered index - это первичный или уникальный индекс в случае отсутствия первичного. И фраза так построена, как будто это поле есть всегда.
...
Рейтинг: 0 / 0
17.12.2016, 11:54
    #39369184
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Database Size5 MB
Хм, судя по ссылкам, там все еще веселей и разнообразней. В т.ч. в зависимости от формата записи.
Цитировать не буду, там надо читать целиком и внимательно.
http://dev.mysql.com/doc/refman/5.7/en/innodb-physical-record.html
http://dev.mysql.com/doc/refman/5.7/en/innodb-row-format-dynamic.html

Предлагаю грубо считать, что на исходных данных ТС оверхед составит порядка 50%. Т.е. магабайта три, наверное, влезет :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Database Size5 MB / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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