Inno-Tables (sürpriz!) İle ithalat hızı ile ilgili önceki sorumu takip ediyorum .
Senaryo
Yerel dev makineme makul bir zamanda bazı büyük * veritabanı dökümü almaya çalışıyorum. KEY
Bir darboğaz olduğu ortaya çıkan, ancak canlı sistemimiz için hala önemli olan tablolara bağlı çok fazla şey var.
Yukarıdaki soruyu sorduktan sonra yaklaşımım, KEY ...
dökümleri, içe aktarma ve anahtarları yeniden ekleme ifadelerini silmekti .
Ancak sık sık kendimi yerel olarak içe aktarmak için mevcut bir dökümü düzenlerken buluyorum ve bu komik "yorumlara" rastladım ( disable/enable keys
Thelines)
--
-- Dumping data for table `monster`
--
LOCK TABLES `monster` WRITE;
/*!40000 ALTER TABLE `monster` DISABLE KEYS */;
INSERT … INSERT … INSERT
/*!40000 ALTER TABLE `monster` ENABLE KEYS */;
UNLOCK TABLES;
Ama aslında bu "yorumlar" koşullu MySql-Deyimleridir
Bu benim için bir haberdi ama tamam, çıktı formu göz önüne alındığında mysql --version
her şey benim için iyi görünüyor:
mysql Ver 14.14 Distrib 5.5.38, for debian-linux-gnu (x86_64) using readline 6.3
Varsayalım
Masa kilitli (güzel, dev makinede sadece benim). Daha sonra tablo şemasında tanımlanan tuşlar devre dışı bırakılır, veriler alınır, tuşlar etkinleştirilir.
Bu nedenle, "veri ekleme" sırasında, anahtarlarda zaman kaybı olmamalı, tüm veriler eklendikten sonra incelenmelidir.
Bu KEY 'foo' (foo)'
dökümü tüm -lines silmek , dökümü almak ve ADD KEY 'foo' ...
daha sonra ile bir komut dosyası çalıştırmak sanki aynı davranış olduğunu düşünüyorum .
Ne gözlemlemek
Anahtarları manuel olarak silmek, anahtarları almak ve yeniden eklemek, ardından DISABLE KEYS
oluşturulan koşullu ifadelere dayanarakmysqldump
Döküm + mysql içe aktarma + anahtar ekleme = 15 + 8 + 8 ≈ 30dk
Düz mysql içe aktarma: vazgeçildi, (sadece günde 8 saat için ödeme alıyorum> :))
Ben yardım edemem ama burada çok temel bir şey eksik düşünüyorum (veya veritabanı beni trolling).
mysqldump --innodb-optimize-keys
Percona'dan kullanın percona.com/doc/percona-server/5.5/management/… Uzun süreli: mysqldump kullanmayı bırakın ve mydumper veya xtrabackup kullanın.