InventTransをループして、いくつかの日付のitemId数量を累積し、この一時テーブルをデータソースとして使用するフォームの結果を一時テーブルに入力する必要があります。クラスを使用しましたが、itemIdのプロセスは非常に長くなります(約5〜10秒)。
どのコードが最速ですか?
- プロセスを実行するクラスを使用する
- 一時テーブルのメソッド
- 発信者フォームのボタンclicked()で処理する
コードを改善するにはどうすればよいですか?
InventTransをループして、いくつかの日付のitemId数量を累積し、この一時テーブルをデータソースとして使用するフォームの結果を一時テーブルに入力する必要があります。クラスを使用しましたが、itemIdのプロセスは非常に長くなります(約5〜10秒)。
どのコードが最速ですか?
コードを改善するにはどうすればよいですか?
コードを表示しないため、それを改善することは純粋に投機的です。
私は 3 番を完全に除外します。クリックされたメソッドにビジネス ロジックを配置することはできません。
考慮事項:
server
優先し、テーブル メソッドまたはクラス静的メソッドでキーワードを使用します (またはクラス プロパティを使用します)。パラメータなどのクライアントへのコールバックを避けます。insert_recordset
ください。InventSum
テーブルにはデータの準備ができている可能性があります。sum
テーブルの結合と組み合わせて、選択でキーワードを使用しInventDim
ます。ハードワークを行うためのビューを作成することを検討してください。これにより、SQL サーバーが計算を行うようになり、通常はパフォーマンスが 2 桁向上します。長いクエリ?ユーザー設定で長いクエリの SQL ログを有効にします。
費やした時間は?コード プロファイラーを使用します。