Hayır, dizinleri dışa aktarmaz. Mysqldump tekrar mysql'e yüklendiğinde indeksler yeniden oluşturulur. "--Disable-keys" anahtarını bulduğunuz seçenekler, mysqldump'ın tablonun INSERT'ler aracılığıyla yüklenmesinden önce böyle bir şey yazmasına neden olur:
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 sonrası satır
/*!40000 ALTER TABLE `tblAccountLinks` DISABLE KEYS */;
--Disable-keys seçeneğinin mysqldump içine kattığı şey budur.
Ayrıca, tüm INSERT'ler yapıldıktan sonra bu katıştırılır
/*!40000 ALTER TABLE `tblAccountLinks` ENABLE KEYS */;
UNLOCK TABLES;
Mağara # 1
Tablo yeniden yüklenirken benzersiz olmayan dizinlerin yeniden yüklenmesini devre dışı bırakmak için DEVRE DIŞI TUŞLAR ve ETKİNLEŞTİRME TUŞLARI uygulandı. Birincil Anahtarlar ve Benzersiz Anahtarlar devre dışı bırakılmaz. INSERT'lerin bulunduğu anda yüklenirler. ANAHTARLARI ETKİNLEŞTİRDİĞİNİZDE, benzersiz olmayan dizinler sıralama yoluyla yeniden oluşturulur (veya MyISAM anahtar önbelleğini kullanarak yeterli bellek yok demektir)
Ne yazık ki, DISABLE KEYS ve ENABLE KEYS, InnoDB için değil, yalnızca MyISAM tabloları için çalışır.
Mağara # 2
--Disable-keys gerekmez. --Skip-devre dışı bırakma tuşları ile DISABLE KEYS'i (punto amaçlanmamış) devre dışı bırakabilirsiniz:
-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.)
Bu, daha yavaş bir yüke ve benzersiz olmayan dizinler için dizin sayfalarının potansiyel olarak kaymasına neden olabilir.
Mağara # 3
Gerçek InnoDB tablo alanlarını dökebilirsiniz (MySQL 5.5.12)
-Y, --all-tablespaces
Dump all the tablespaces.
-y, --no-tablespaces
Do not dump any tablespace information.