私はいくつかのテーブルを持つ MySQl データベースを持っています。すべて UTF-8 と MyISAM ストレージです。PHP では、大量のデータをテーブルに書き込む XML ファイルを解析しています。単純な Insert ステートメントと mysqli 関数のみを使用しています。
テーブルにはそれほど多くの読み取りアクションはなく、挿入中のアクションはありません。まず、パフォーマンスが非常に遅かったため、スクリプトの先頭に SET AUTOCOMMIT = 0 を追加しました。
私が今抱えている問題は、たとえば 3 番目の foreach ループにあるすべての挿入が無視され、mysql テーブルに表示されないことです。それ以前は大丈夫です。
私の質問は、何が間違っているのか、どうすればよいのかということです。
自動コミットがオンの場合 = すべてが挿入されますが、非常に遅い 自動コミットがオフの場合 = すべてが非常に高速ですが、多くの挿入が無視されます
うまくいけば、誰かがアイデアを持ち、助けてくれるでしょう。