1) Adskil SQL-dumpfilen i to dele:oprettelse og data
grep -n "Dumping data" enwiki-latest-redirect.sql
Dette vil returnere linjenummeret, der adskiller oprettelsen og dataene for tabeldelene af filen. Lad det være 46.
tail -n +46 enwiki-latest-redirect.sql > redirect -data.sql
Tallet vi får i den sidste kommando bruges som input til tail
for at hente datadelen af filen.
head -46 enwiki-latest-redirect.sql > redirect-creation.sql
Tallet vi får i den første kommando bruges som input til head
for at få tabeloprettelsesdelen af filen.
2) Fjern indekser fra redirect-creation.sql
Følgende er den originale CREATE TABLE
erklæring i dumpen:
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;
Følgende er den ønskede version efter fjernelse af indekserne:
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;
Rediger page-creation.sql for at fjerne indekser som vist ovenfor.
3) Indlæs de oprettede filer
mysql -u root -p wikipedia < redirect-creation.sql
mysql -u root -p wikipedia < redirect-data.sql
4) Opret indekser på felter, du ønsker efter indlæsning af dataene
create index idx_redirect_rd_from on redirect(rd_from)
Jeg er i stand til at indlæse kategorilinktabellen på under en time på min Macbook Pro ved at følge trinene ovenfor.