sql >> データベース >  >> Database Tools >> phpMyAdmin

PhpMyAdminデータインポートのパフォーマンスの問題

    PHPアップロードの最大サイズを変更します。

    php.iniファイルがどこにあるか知っていますか?

    まず、このファイルをWebルートに配置してみてください:

    phpinfo.php
    

    http://php.net/manual/en/function.phpinfo.phpを参照してください。

    含む:

    <?php
    
    phpinfo();
    
    ?>
    

    次に、http://www.yoursite.com/phpinfo.php に移動します。

    「php.ini」を探してください。

    大きなファイルをアップロードするには、max_execution_time、post_max_size、upload_max_filesize

    が必要です。

    また、error.logファイルがどこにあるか知っていますか?うまくいけば、何がうまくいかないかについての手がかりが得られるでしょう。

    編集:

    ファイルのインポートに使用するクエリは次のとおりです。

    $query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
        ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";
    

    $file_nameはphpグローバル変数$_FILESからの一時ファイル名、$ table_nameはインポート用にすでに準備されているテーブル、$ nlはcsv行末の変数です(デフォルトはWindows行末ですが、Linux行を選択するオプションがあります)エンディング)。

    もう1つは、スクリプトのテーブル($ table_name)は、最初にcsvをスキャンして列の種類を判別することにより、事前に準備されていることです。適切な列タイプを決定した後、データを受信するためのMySQLテーブルを作成します。

    最初にMySQLテーブル定義を作成して、ファイルの内容(データ型、文字長など)と一致させることをお勧めします。次に、上記のクエリを試して、実行速度を確認します。 MySQLテーブル定義が速度にどの程度の要因があるのか​​わかりません。

    また、データがロードされるまで、テーブルにインデックスが定義されていません。インデックスはデータの読み込みを遅くします。




    1. DBeaverでER図を作成する方法

    2. MySQLへのcsvファイルの転送を自動化する

    3. MySQLトリガーの複数のifステートメント

    4. phpMyAdminに似ていますが、SQL Server用ですか?