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

MySQLロードデータファイル-アクセラレーション?

    innodbと一括読み込みを使用している場合は、ここにいくつかのヒントがあります:

    csvファイルをターゲットテーブルの主キーの順序に並べ替えます。innodbはクラスター化された主キーを使用するため、並べ替えると読み込みが速くなります。

    私が使用する典型的なロードデータファイル:

    truncate <table>;
    
    set autocommit = 0;
    
    load data infile <path> into table <table>...
    
    commit;
    

    読み込み時間を短縮するために使用できるその他の最適化:

    set unique_checks = 0;
    set foreign_key_checks = 0;
    set sql_log_bin=0;
    

    csvファイルを小さなチャンクに分割します

    バルクロード中に観察した典型的なインポート統計:

    3.5 - 6.5 million rows imported per min
    210 - 400 million rows per hour
    


    1. auto_incrementIDを使用しないSphinx

    2. MySQLでのOCT()関数のしくみ

    3. データベース設計:EAVにするか、EAVしないか?

    4. アイドル状態のPostgreSQL接続のタイムアウトはありますか?