SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.02.2017 03:08:26

Виктop
Участник
Зарегистрирован: 15.02.2017
Сообщений: 8

Как mysql хранит данные?

Есть база данных "test", в ней таблица "test", в которой два поля "id" и "text", в поле "text" вношу произвольный текст, в поле "id" записываю какую нибудь цифру, всё сохраняется, затем смотрю размер таблицы и базы данных в байтах, но он не изменяется, причём это показывает phpmyadmin, это показывает система (при вводе команды du -b), тоже самое показывает файл менеджер в свойствах и это же показывает запрос

SELECT table_schema "DB Name",
Round(Sum(data_length + index_length), 1) "DB Size in B"
FROM   information_schema.tables
GROUP  BY table_schema;

размер папки MYSQL тоже не изменяется
Собственно вопрос: как получается, что при сохранении данных объём базы данных (в байтах) не увеличивается
ОС ubuntu 16.04 версия MySQL 5.7.17?

Отредактированно Виктop (16.02.2017 03:11:16)

Неактивен

 

#2 16.02.2017 08:55:50

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как mysql хранит данные?

вероятно таблица innodb
память выделяется страницами

Неактивен

 

#3 16.02.2017 10:14:14

Виктop
Участник
Зарегистрирован: 15.02.2017
Сообщений: 8

Re: Как mysql хранит данные?

Да, именно innoDB, а страницами, это как?

Неактивен

 

#4 16.02.2017 10:26:53

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как mysql хранит данные?

блоками определенного размера, по умолчанию 16кб
соответственно, пока запись идет в уже выделенную страницу, то размер таблицы не увеличивается
когда страница закончится, при добавлении новой записи будет добавлено сразу 16кб

Неактивен

 

#5 16.02.2017 10:29:55

Виктop
Участник
Зарегистрирован: 15.02.2017
Сообщений: 8

Re: Как mysql хранит данные?

Спасибо, понял, а то я уже стал думать что это какой то системный глюк в вычислении размеров

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson