Mysql
 sql >> Baza danych >  >> RDS >> Mysql

ładowanie enwiki-latest-categorylinks.sql do mysql

1) Rozdziel plik zrzutu SQL na dwie części:tworzenie i dane

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

Spowoduje to zwrócenie numeru wiersza oddzielającego tworzenie i dane części tabeli pliku. Niech będzie 46.

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

Liczba otrzymana w ostatnim poleceniu jest używana jako dane wejściowe do tail aby pobrać część danych z pliku.

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

Liczba otrzymana w pierwszym poleceniu jest używana jako dane wejściowe do head aby pobrać część pliku dotyczącą tworzenia tabeli.

2) Usuń indeksy z redirect-creation.sql

Poniżej znajduje się oryginalny CREATE TABLE oświadczenie w śmietniku:

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; 

Poniżej znajduje się żądana wersja po usunięciu indeksów:

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; 

Edytuj page-creation.sql, aby usunąć indeksy, jak pokazano powyżej.

3) Załaduj utworzone pliki

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

4) Utwórz indeksy w żądanych polach po załadowaniu danych

create index idx_redirect_rd_from on redirect(rd_from)

Mogę załadować tabelę linków do kategorii w mniej niż godzinę na moim Macbooku Pro, wykonując powyższe czynności.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dodawanie pól aliasów MySQL razem

  2. Nie można załadować wtyczki uwierzytelniającej „caching_sha2_password” w Netbean

  3. Jak wykonać kopię zapasową bazy danych MySQL w PHP?

  4. Zapytanie MySQL do obliczenia poprzedniego miesiąca

  5. Jak uzyskać wiele zliczeń za pomocą pojedynczego zapytania w MySQL?