venName と venDesc を含むテーブル (vendTable) があります。どちらも varchar(30) NOT NULL です。毎日更新される 500 行が含まれます。テーブルは切り捨てられ、毎日再ロードされます。索引なし。
「vendTable から venName 、 venDesc を選択」を実行します。私に500行を与えます。
この 1 つの SQL ステートメントをストアド プロシージャ getVendors にラップしました。
「call getVendors();」を実行すると 500 行の適切なデータが返されます。
何週間も問題なく動作していましたが、今日、getVendors() プロシージャは 500 の空の行を返しました。NULL ではなく、空ですが、500 個です。エラーも警告もありません。1行のqryを実行すると、期待どおりに返されます。プロシージャを削除して再作成しましたが、それでも同じ空の結果が発生します。同じコードで追加の proc を作成しましたが、名前が異なり、うまくいきませんでした。テーブルの診断とエラーのチェックは正常に戻りました。エラーが見つからずに修復が戻ってきました。文字セットと照合順序は問題ありません。ログファイルには何もありません。
しばらくすると、手順が再び機能し、適切なデータが返されました。
3 つの異なるホストに 3 つの同様の mysql データベースがあります。そして、彼らはうまくいきます。
誰もこれを見たことがありますか?他に見るべきものはありますか?前もって感謝します。CentOS 5.8で実行されているmysql 5.0.95です