Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

tải enwiki-last-categorylinks.sql vào mysql

1) Tách tệp kết xuất SQL thành hai phần:tạo và dữ liệu

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

Thao tác này sẽ trả về số dòng phân tách việc tạo và dữ liệu của các phần bảng của tệp. Hãy để nó là 46.

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

Số chúng ta nhận được trong lệnh cuối cùng được sử dụng làm đầu vào cho tail để lấy phần dữ liệu của tệp.

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

Số chúng ta nhận được trong lệnh đầu tiên được sử dụng làm đầu vào cho head để lấy phần tạo bảng của tệp.

2) Xóa chỉ mục khỏi redirect-create.sql

Sau đây là CREATE TABLE gốc tuyên bố trong kết xuất:

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; 

Sau đây là phiên bản mong muốn sau khi xóa các chỉ mục:

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; 

Chỉnh sửa page-create.sql để xóa các chỉ mục như được hiển thị ở trên.

3) Tải các tệp đã tạo

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

4) Tạo chỉ mục trên các trường bạn muốn sau khi tải dữ liệu

create index idx_redirect_rd_from on redirect(rd_from)

Tôi có thể tải bảng liên kết danh mục trong vòng chưa đầy một giờ trên Macbook Pro của mình bằng cách làm theo các bước ở trên.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AndroidApp và MySqlConnection không hoạt động kết nối.open

  2. MySQL - Tôi nên sử dụng Hash Algo nào cho việc này?

  3. Gặp lỗi nhập trùng lặp từ Hibernate, MySQL có phải là nguyên nhân?

  4. MYSQL INNER JOIN với các trường trống có thể có

  5. Xóa dữ liệu khỏi tất cả các bảng trong MYSQL