ホームページ >データベース >mysql チュートリアル >mysql アドバンスト (20) CPU 過負荷例外
プロジェクトの展開フェーズ中、オーダーを送信するときに常に CPU 過負荷が発生し、マシンがフリーズしてオーダーの送信が失敗します。下の図はタスク マネージャーを通して見ることができます:
タスク マネージャーでプロセス情報を確認すると (下の図を参照)、プロジェクトの実行により CPU が過負荷になっていることがわかります。犯人は誰ですか?出力されるテスト文が多すぎるためでしょうか? テスト出力文を減らしてみてください。
調査の結果、注文を送信し、3002トランザクションを実行するときに発生したエラーでした。もう一度実行して、どのステップが原因なのかを確認してください。データテーブルの操作が原因でしょうか?事実を踏まえて話しましょう。下図に示すように、操作順序メインテーブルlm_billが実行されると、プログラムは実行を停止します。この時点で、CPUは100%に達しています。
案の定、
SELECT * FROM lmapp.lm_addr where uid='U18353102068' AND addrid='1' limit 0,1000
を実行すると、現時点ではデータベース内のクエリが実行され、結果は空です。そしてプログラムはいつでも待っています!ビジネス ロジックに重大な抜け穴があることがわかります。
次のエラーが検出されました:
java.sql.SQLException: 不正な文字列値: 列 'medname' の行 1 の 'xA2x97xE7xB2x92'
ワイプ、 長時間検索しています , オンラインデータベースにデータを書き込んでいるときに、特殊文字,をいつ追加したか分からず、テーブルを読み取るときに予期しない例外が発生したことがわかりました。酔っ払いも!
参考:http://www.php.cn/