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

ブロッキングを引き起こすSQLServerSELECTステートメント

    SELECTは更新をブロックできます。適切に設計されたデータモデルとクエリは、最小限のブロッキングのみを引き起こし、問題にはなりません。 「通常の」WITHNOLOCKヒントは、ほとんどの場合、間違った答えです。適切な答えは、巨大なテーブルをスキャンしないようにクエリを調整することです。

    クエリが調整できない場合は、最初にスナップショット分離レベル を検討する必要があります。 、次に、データベーススナップショット の使用を検討する必要があります。 最後のオプションはダーティリードである必要があります(分離レベル NOLOCK HINTを使用するのではなく)。名前が明確に示しているように、ダーティリードは一貫性のないデータを返すことに注意してください(たとえば、シート全体が不均衡になる可能性があります)。



    1. ExcelスプレッドシートからSQLServer2008テーブルにデータをエクスポートする方法

    2. JSON_SET()–MySQLのJSONドキュメントに値を挿入または更新します

    3. 誤った条件が原因で失敗したUPDATEと、値が変更されていないために失敗したUPDATEを区別する

    4. SQL:マテリアライズドパスのすべての親ノードを選択するにはどうすればよいですか?