sql >> データベース >  >> RDS >> Mysql

enwiki-latest-categorylinks.sqlをmysqlにロードする

    1)SQLダンプファイルを作成とデータの2つの部分に分けます

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

    これにより、ファイルのテーブル部分の作成とデータを区切る行番号が返されます。 46にします。

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

    最後のコマンドで取得した数値は、tailへの入力として使用されます ファイルのデータ部分を取得します。

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

    最初のコマンドで取得した数値は、headへの入力として使用されます ファイルのテーブル作成部分を取得します。

    2)redirect-creation.sqlからインデックスを削除します

    以下は、元のCREATE TABLEです。 ダンプ内のステートメント:

    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; 
    

    インデックスを削除した後の望ましいバージョンは次のとおりです。

    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; 
    

    上記のように、page-creation.sqlを編集してインデックスを削除します。

    3)作成したファイルをロードします

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

    4)データのロード後に必要なフィールドにインデックスを作成します

    create index idx_redirect_rd_from on redirect(rd_from)
    

    上記の手順に従うことで、MacbookProに1時間以内にcategorylinksテーブルをロードできます。




    1. C++を使用してmySQLデータベースに接続する方法

    2. SQL Server(T-SQL)の日付からISO週番号を返す

    3. MySQL-最後に挿入された行を最も簡単な方法で選択します

    4. SQL Server(T-SQL)でサーバー名を返す2つの方法