sql >> Databáze >  >> RDS >> Mysql

načítání enwiki-latest-categorylinks.sql do mysql

1) Rozdělte soubor výpisu SQL na dvě části:vytvoření a data

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

Tím se vrátí číslo řádku oddělující vytvoření a data částí tabulky souboru. Nechť je to 46.

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

Číslo, které dostaneme v posledním příkazu, se použije jako vstup pro tail získat datovou část souboru.

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

Číslo, které dostaneme v prvním příkazu, se použije jako vstup do head získat část souboru pro vytvoření tabulky.

2) Odstraňte indexy z redirect-creation.sql

Následuje původní CREATE TABLE příkaz ve výpisu:

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; 

Následující je požadovaná verze po odebrání indexů:

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; 

Upravte soubor page-creation.sql a odstraňte indexy, jak je uvedeno výše.

3) Načtěte vytvořené soubory

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

4) Po načtení dat vytvořte indexy pro požadovaná pole

create index idx_redirect_rd_from on redirect(rd_from)

Podle výše uvedených kroků jsem schopen načíst tabulku odkazů na kategorie za méně než hodinu na svém Macbooku Pro.




  1. Jak uvolnit možné zámky řádků Postgres?

  2. Zesměšňování PDO pomocí phpunit

  3. Připojte se k dotazu na počet na create_series() a načtěte hodnoty Null jako '0'

  4. Úplně odinstalovat PostgreSQL 9.0.4 z Mac OSX Lion?