1) Rozdělte soubor výpisu SQL na dvě části:vytvoření a data
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.
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.
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.