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

メモリを使い果たすことなく、PHPを介してMySQLからCSVに数百万行をエクスポートするにはどうすればよいですか?

    オブジェクトツリーを構築しようとするのではなく、結果をファイルに直接選択することを試みることができます: http://dev.mysql.com/doc/refman/5.7/en/select.html

    のようなもの
    SELECT * INTO OUTFILE "c:/temp/mycsv.csv"
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY "\n"
    FROM theTable;
    

    これにより、ジョブはmysqlに任され、phpメモリの制限が回避されます。

    vencaが指摘したように:この場合、mysqlサービスを実行しているユーザーには、問題のディレクトリへの書き込み権限が必要です。




    1. 多対多および多対多の交差点

    2. MySQL:主キーとしてDATETIMEを使用

    3. mysqlストアドプロシージャパラメータを一覧表示する方法

    4. PHPがSQL構文を実行せずに検証する方法はありますか?