Ні, він не експортує індекси. Індекси відновлюються після завантаження mysqldump назад у mysql. Знайдені вами параметри "-disable-keys" змушують mysqldump написати щось подібне перед завантаженням таблиці через INSERT:
DROP TABLE IF EXISTS `tblAccountLinks`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `tblAccountLinks` (
`ID` int(11) NOT NULL auto_increment,
`FirmNo` varchar(10) NOT NULL,
`CustomerNo` varchar(20) NOT NULL,
`AccountNo` varchar(20) NOT NULL,
`LinkType` smallint(6) NOT NULL,
`AccessLevel` smallint(6) NOT NULL,
`Status` smallint(6) NOT NULL,
`CreatedOn` datetime NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=27023 DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
--
-- Dumping data for table `tblAccountLinks`
--
LOCK TABLES `tblAccountLinks` WRITE;
/*!40000 ALTER TABLE `tblAccountLinks` DISABLE KEYS */;
INSERT INTO `tblAccountLinks` VALUES (1,'F0001','C001','T00000001',1,2,1,'2008-06-30 07:55:43'),(2,'
F0001','C001','T00000002',2,2,1,'2008-06-30 07:55:43'),(3,'F0001','C002','27601012',1,2,1,'2008-06-3 ...
Рядок після LOCK TABLES є
/*!40000 ALTER TABLE `tblAccountLinks` DISABLE KEYS */;
Це те, що опція --disable-keys вбудовується у mysqldump.
Крім того, це вбудовується після того, як будуть зроблені всі ВСТАВКИ
/*!40000 ALTER TABLE `tblAccountLinks` ENABLE KEYS */;
UNLOCK TABLES;
КАВАТИ №1
DISABLE KEYS та ENABLE KEYS були реалізовані для відключення перезавантаження невідповідних індексів під час перезавантаження таблиці. Первинні та унікальні ключі не вимкнено. Вони завантажуються в ту ж мить, коли ВИСТАВКИ. Після того як ви ENABLE KEYS, індекси ненонічного відновлення відновлюються за допомогою сортування (або за допомогою кешу клавіш MyISAM не вистачає пам’яті)
На жаль, DISABLE KEYS та ENABLE KEYS працюють лише для таблиць MyISAM, а не InnoDB.
КАВАТИ №2
Вам не доведеться - відключати клавіші. Ви можете вимкнути DISABLE KEYS (каламбур не призначений) їх за допомогою --skip-disabled-keys:
-K, --disable-keys '/*!40000 ALTER TABLE tb_name DISABLE KEYS */; and
'/*!40000 ALTER TABLE tb_name ENABLE KEYS */; will be put
in the output.
(Defaults to on; use --skip-disable-keys to disable.)
Це може призвести до уповільнення завантаження та можливого недоопрацювання сторінок індексів для невідповідних індексів.
КАВІТ №3
Ви можете скидати фактичні простори таблиць InnoDB (MySQL 5.5.12)
-Y, --all-tablespaces
Dump all the tablespaces.
-y, --no-tablespaces
Do not dump any tablespace information.