sql >> データベース >  >> RDS >> Sqlserver

使用量にカウントを設定

    さて、私は調査を終えました。これが取引です:

    TDSプロトコルでは、SET NOCOUNT ON 「SETNOCOUNTON」というテキスト自体がなんと14バイトであるのに対し、クエリごとに9バイトしか節約できません。以前は123 row(s) affectedと思っていました 別のネットワークパケットでプレーンテキストでサーバーから返されましたが、そうではありません。実際には、DONE_IN_PROCと呼ばれる小さな構造です。 応答に埋め込まれています。個別のネットワークパケットではないため、ラウンドトリップが無駄になることはありません。

    ほとんどの場合、パフォーマンスを気にすることなく、デフォルトのカウント動作に固執できると思います。ただし、前方専用カーソルなど、事前に行数を計算するとパフォーマンスに影響する場合があります。その場合、NOCOUNTが必要になる可能性があります。それ以外は、「可能な限りNOCOUNTを使用する」というモットーに従う必要はまったくありません。

    SET NOCOUNTの重要性に関する非常に詳細な分析を次に示します。 設定:http://daleburnett.com/2014/01/everything-ever-wanted-know-set-nocount/



    1. PL/SQLパッケージレベルのレコードタイプに関するメタデータ

    2. MariaDBでFIELD()がどのように機能するか

    3. SQLパラメータの文字列配列をSQLのIN句に渡す方法

    4. 値ごとのCOUNTによる順序