sql >> Database >  >> RDS >> Mysql

enwiki-latest-categorylinks.sql laden in mysql

1) Scheid het SQL-dumpbestand in twee delen:creatie en gegevens

  1. grep -n "Dumping data" enwiki-latest-redirect.sql

Dit retourneert het regelnummer dat de aanmaak en de gegevens van de tabeldelen van het bestand scheidt. Laat het 46 zijn.

  1. tail -n +46 enwiki-latest-redirect.sql > redirect -data.sql

Het nummer dat we in het laatste commando krijgen, wordt gebruikt als invoer voor tail om het gegevensgedeelte van het bestand te krijgen.

  1. head -46 enwiki-latest-redirect.sql > redirect-creation.sql

Het nummer dat we in het eerste commando krijgen, wordt gebruikt als invoer voor head om het tabelaanmaakgedeelte van het bestand te krijgen.

2) Verwijder indexen uit de redirect-creation.sql

Het volgende is de originele CREATE TABLE verklaring op de stortplaats:

CREATE TABLE `redirect` ( 
 `rd_from` int(8) unsigned NOT NULL DEFAULT '0', 
 `rd_namespace` int(11) NOT NULL DEFAULT '0', 
 `rd_title` varbinary(255) NOT NULL DEFAULT '', 
 `rd_interwiki` varbinary(32) DEFAULT NULL, 
 `rd_fragment` varbinary(255) DEFAULT NULL,   
  PRIMARY KEY (`rd_from`),   
  KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary; 

Het volgende is de gewenste versie na het verwijderen van de indexen:

CREATE TABLE `redirect` ( 
 `rd_from` int(8) unsigned NOT NULL DEFAULT '0', 
 `rd_namespace` int(11) NOT NULL DEFAULT '0', 
 `rd_title` varbinary(255) NOT NULL DEFAULT '', 
 `rd_interwiki` varbinary(32) DEFAULT NULL, 
 `rd_fragment` varbinary(255) DEFAULT NULL, 
) ENGINE=InnoDB DEFAULT CHARSET=binary; 

Bewerk de page-creation.sql om indexen te verwijderen zoals hierboven getoond.

3) Laad de aangemaakte bestanden

mysql -u root -p wikipedia < redirect-creation.sql
mysql -u root -p wikipedia < redirect-data.sql

4) Maak indexen op velden die u wilt na het laden van de gegevens

create index idx_redirect_rd_from on redirect(rd_from)

Ik kan de tabel met categorielinks in minder dan een uur op mijn Macbook Pro laden door de bovenstaande stappen te volgen.




  1. Hoe bestel ik een MySQL-query op een specifieke kolom?

  2. Hoe mysql-gegevens in aflopende volgorde op te halen?

  3. Aan de slag met Shareplex op Windows op AWS, deel 2

  4. INSERT INTO ... RETURNING - dubbelzinnige kolomverwijzing