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

データベース エンジンは同時挿入をどのように処理しますか?

    SQL Server のようなデータベース エンジン (あなたがそのようにタグ付けしているので、質問していると思います) は ARIES 先行書き込みログ プロトコル。このようなプロトコルでは、ログをシーケンシャル ストリームとして書き込む必要があるため、ルールとして、100 個の挿入が同時に発生するというルールに従います。100 CPU のサーバーでも、ログにアクセスするときに内部的にシリアル化する必要があります。したがって、あなたが示唆するように、「ナノ秒」レベルでの同時実行は理論的にも不可能です。このトピックは複数の場所で説明されています。Write-Ahead トランザクション ログ 、トランザクションの回復 および 仕組み:Bob Dorr の SQL Server I/O プレゼンテーション

    ただし、実際的な観点からは、トランザクションと 分離の観点から考える必要があります。レベル



    1. INNER JOIN ONvsWHERE句

    2. Oracle:タイムスタンプ付きのSQL選択日付

    3. SQLクエリ結果セットを削除します

    4. MySQL:関数st_geometryfromtextに提供された無効なGISデータ