Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

memuat enwiki-latest-categorylinks.sql ke dalam mysql

1) Pisahkan file dump SQL menjadi dua bagian:pembuatan dan data

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

Ini akan mengembalikan nomor baris yang memisahkan pembuatan dan data bagian tabel file. Biarlah 46.

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

Angka yang kita dapatkan pada perintah terakhir digunakan sebagai input ke tail untuk mendapatkan bagian data dari file.

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

Angka yang kita dapatkan pada perintah pertama digunakan sebagai input ke head untuk mendapatkan bagian pembuatan tabel dari file.

2) Hapus indeks dari redirect-creation.sql

Berikut ini adalah CREATE TABLE asli pernyataan di dump:

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; 

Berikut ini adalah versi yang diinginkan setelah menghapus indeks:

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; 

Edit page-creation.sql untuk menghapus indeks seperti yang ditunjukkan di atas.

3) Muat file yang dibuat

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

4) Buat indeks pada bidang yang Anda inginkan setelah memuat data

create index idx_redirect_rd_from on redirect(rd_from)

Saya dapat memuat tabel kategorilinks dalam waktu kurang dari satu jam di Macbook Pro saya dengan mengikuti langkah-langkah di atas.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengurutkan berdasarkan urutan nilai dalam klausa SQL IN()

  2. Berapa batas koneksi untuk Google Cloud SQL dari App Engine, dan cara terbaik untuk menggunakan kembali koneksi DB?

  3. Menghubungkan MySQL dengan Visual Studio C#

  4. Cara melewati baris saat mengimpor dump MySQL yang buruk

  5. 2 Cara Mengonversi Angka ke Oktal di MySQL