クライアントがMySQLデータベースの単一のテーブルにアップロードすることを要求している900MBのXMLファイルをダウンロードしているところです。1〜2週間前に6 MBのファイルを挿入する必要があり、ファイルをphpmyadminで実行できるSQLクエリに変換しましたが、かなり長い時間がかかりました。
今回はどうすればいいですか?ありがとう
ファイルを CSV 形式に変換できるかどうかを確認します。XML の処理がないため、MySQL テーブルにインポートする方がはるかに高速です。各列に入力されるデータ型に注意する必要があります。
クライアントが CSV で提供できず、これが 1 回限りのアップロードである場合は、MS Excel/Libre Calc/OpenOffice Calc を使用して自分で変換してみてください。
毎週発生し、XML とデータベース構造が同じままである場合は、(Dom を使用するのではなく) sax パーサーを使用して SQL ファイルを生成し、mysql コマンド ライン経由でインポートします。
mysql -u ユーザー -p データベース名 < import.SQL
サーバーにアップロードする前にSQLファイルを圧縮して、より迅速に取得できます
パフォーマンスをさらに改善するために、必要に応じてテーブルをロックすることを検討してください (システムがそれを処理できる場合) http://dev.mysql.com/doc/refman/5.1/en/lock-tables.html