LINUX.ORG.RU

Изменился размер таблиц при переезде Mysql

 ,


0

1

Перенес таблицу с mysql 5.7 на mysql 8.0 Вырос размера таблицы пример:

5.7
-rw-r----- 1 mysql mysql  8.6K Nov  6  2023 columns.frm
-rw-r----- 1 mysql mysql  7.1G Jul 12 18:28 columns.ibd
8.0
-rw-r----- 1 mysql mysql 8.7G Jul 12 20:15 columns.ibd

Переносил с помощью экспорт mysqldump -u root -ppassword и импорт mysql -u root -p

С чем может быть связана разница в 1.6G?



Последнее исправление: wiemei (всего исправлений: 3)
Ответ на: комментарий от firkax

Сравнил мета, отличие в указании кодировки, моет влиять?

CREATE TABLE `columns` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `field1` int(11) unsigned NOT NULL,
  `field2` int(11) unsigned NOT NULL,
  `type` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
  `col` varchar(33) COLLATE utf8mb4_unicode_ci NOT NULL,
  `visible` tinyint(1) unsigned NOT NULL,
  `ord` smallint(5) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq` (`field2`,`type`,`col`,`field1`),
  KEY `org_user_main` (`field1`,`field2`)
) ENGINE=InnoDB AUTO_INCREMENT=82120847 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
8.0
CREATE TABLE `columns` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `field1` int unsigned NOT NULL,
  `field2` int unsigned NOT NULL,
  `type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `col` varchar(33) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `visible` tinyint unsigned NOT NULL,
  `ord` smallint unsigned NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq` (`field2`,`type`,`col`,`field1`),
  KEY `org_user_main` (`field1`,`field2`)
) ENGINE=InnoDB AUTO_INCREMENT=82111912 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
wiemei
() автор топика
Ответ на: комментарий от wiemei

Кодировка у тебя везде одинаковая. Но я не знаю почему она вообще указана у колонки, и почему в обоих случаях указано COLLATE - это всё для колонок пишется только если отличается от кодировки таблицы.

У тебя ещё автоинкремент почему-то уменьшился после переноса, такого не должно быть.

firkax ★★★★★
()
Ответ на: комментарий от anonymous

Я попробовал переключить на боевку, запросы в целом стали работать быстрее, особенно с order by, но ROW_FORMAT=COMPRESSED еще не пробовал. Интересно мнение тех кто использовал

wiemei
() автор топика
Ответ на: комментарий от vtVitus

Это Innodb, тут сработает только optimize да и то это будет просто alter таблицы

В общем никакого эффекта, так как таблицы только что загружены и не дефрагментированы

wiemei
() автор топика