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

UPDATEがSELECTよりもはるかに長いのはなぜですか?

    • トランザクションログファイルの書き込み
    • インデックスの更新
    • 外部キールックアップ
    • 外部キーカスケード
    • インデックス付きビュー
    • 計算された列
    • 制約を確認する
    • ロック
    • ラッチ
    • ロックエスカレーション
    • スナップショットアイソレーション
    • DBミラーリング
    • ファイルの増加
    • 他のプロセスの読み取り/書き込み
    • ページ分割/不適切なクラスター化インデックス
    • フォワードポインタ/行オーバーフローイベント
    • 貧弱なインデックス
    • 統計が古くなっています
    • ディスクレイアウトが不十分(たとえば、すべてに1つの大きなRAID)
    • テーブルにアクセスできるUDFで制約を確認する
    • ...

    ただし、通常の容疑者はトリガー ...

    また、余分な条件には意味がありません。SQLServerはそれを無視することをどのように知っていますか?ほとんどの手荷物でアップデートが生成されます...トリガーでさえも起動します。たとえば、行が他の条件を検索している間は、ロックを保持する必要があります

    2011年9月と2012年2月に編集され、より多くのオプションが追加されました



    1. SQLでデータベースを作成するにはどうすればよいですか?

    2. RLIKEがMariaDBでどのように機能するか

    3. NULLのある一意のキー

    4. ログインの場合GETまたはPOST?