Формат строк в MySQL

Статус
Закрыто для дальнейших ответов.

CamaroSS

Well-Known Member
Регистрация
21.02.2012
Сообщения
176
Имеется таблица, в которой находится 12-15 млн. строк. Весит в районе 3 гигов, имеет 12 индексов.
К ней постоянно идут запросы на выборку и вставку, реже на удаление.
Так вот вопрос, будет ли MySQL работать с ней резвее, если перевести её в формат FIXED из DYNAMIC ?
У кого-нибудь был опыт удачного перевода? Пока мне ясно только, что она станет намного больше, а вот начнёт ли СУБД быстрее с ней работать, неизвестно .
Код создания таков:

Код:
CREATE TABLE `t` (
  `f1` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `f2` varchar(25) NOT NULL DEFAULT '',
  `f3` mediumint(5) unsigned DEFAULT NULL,
  `f4` mediumint(5) unsigned DEFAULT NULL,
  `f5` varchar(50) DEFAULT NULL,
  `f6` varchar(70) DEFAULT NULL,
  `f7` tinyint(1) NOT NULL DEFAULT '0',
  `f8` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `f9` varchar(16) NOT NULL DEFAULT '',
  `f10` tinyint(1) unsigned NOT NULL DEFAULT '0',
  `f11` datetime DEFAULT NULL,
  `f12` tinyint(1) unsigned NOT NULL DEFAULT '0' ,
  `f13` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `f14` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `f15` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `f16` varchar(16) DEFAULT '0',
  `f17` datetime DEFAULT '0000-00-00 00:00:00',
  `f18` enum('Y','N') DEFAULT 'N',
  `f19` enum('Y','N') DEFAULT 'N',
  `f20` varchar(75) DEFAULT NULL,
  `f21` text,
  `f22` tinyint(1) NOT NULL DEFAULT '0',
  `f23` mediumint(9) DEFAULT NULL,
  `f24` int(1) DEFAULT '0',
  `f25` varchar(3) DEFAULT NULL,
  PRIMARY KEY (`f1`,`f12`),
  KEY `IDX_1` (`f8`),
  KEY `IDX_2` (`f11`),
  KEY `IDX_3` (`f2`,`f4`,`f8`),
  KEY `IDX_4` (`f2`,`f3`,`f8`),
  KEY `IDX_5` (`f4`,`f8`),
  KEY `IDX_6` (`f17`),
  KEY `IDX_7` (`f14`),
  KEY `IDX_8` (`f25`),
  KEY `IDX_9` (`f2`),
  KEY `IDX_10` (`f9`),
  KEY `IDX_11` (`f3`,`f8`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=cp1251 ROW_FORMAT=DYNAMIC
/*!50100 PARTITION BY LIST (f12)
(PARTITION p0 VALUES IN (0) ENGINE = MyISAM,
PARTITION p1 VALUES IN (1,3) ENGINE = MyISAM,
PARTITION p2 VALUES IN (2) ENGINE = MyISAM) */
 

CamaroSS

Well-Known Member
Регистрация
21.02.2012
Сообщения
176
Короч я так понял, что лучше перевести её на транзакционный движок, дропнуть индекс IDX_9 и перевести ненужный int в tinyint. А с фиксед форматом оно чёрт знает до каких размеров раздуется, тем более там поле TEXT есть.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ