0

私は最近 SQL カーソルについて調べていて、同僚は、カーソルは監査に最適であると言いました。インターネットで資料を探してみましたが、うまくいきませんでした。

Cursor が短所にも関わらず監査に適している理由を説明できる人はいますか?

4

1 に答える 1

1

他のタスクと同様に、仕事に適したツールを選択することが重要です。カーソルの使用例が明らかに悪いため、カーソルの使用を軽蔑する人もいますが、カーソルには適切な場所があります。これらは、データのサブセット化とコードの冗長性の削減に特に役立ちます。

主に、カーソルを使用して、非常に大きなデータセット (銀行データなど) のサブセットに対してタスクを実行します。数十億のレコードでは、一度にすべてを実行したくない操作がいくつかあるため、1 日ごとにループするのが適切なオプションです。サブセットを反復処理する方法は他にもありますが、カーソルはこのタスクでうまく機能します。それはまだセットベースの操作であり、小さなセットのみです。

カーソルは、データベース内の複数のテーブル/フィールドをループするのにも最適です。各テーブルで同じことを行う場合、またはさまざまなデータベースで一貫して作業している場合、複数のテーブルの手順を書き直す必要はありません。 . たとえば、複数のシステムによって生成された多数のさまざまなログ ファイルを分析する必要がありましたが、それらにはすべて日付フィールドと IP フィールドがありました。カーソルを各テーブルにループさせ、関連するすべてのデータを 1 つの場所に結合するのは簡単です。

必要な場合を除き、カーソルを使用して行ごとのアクションを実行することはありません。頭のてっぺんからユースケースを思いつくことはできませんが、それらが存在することは確かです。

于 2013-06-27T13:12:08.170 に答える