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

SQL Server - データをロックせずに大きなテーブルをマージする

    selects を実行するときに NOLOCK または READ UNCOMMITTED を使用するようにフロント エンドを変更します .

    更新を実行するにはレコードをロックする必要があるため、NOLOCK MERGE、INSERT、または UPDATE は実行できません。ただし、SELECT を NOLOCK することはできます。

    これは注意して使用する必要があることに注意してください。ダーティ リードが問題ない場合は、先に進みます。ただし、読み取りに更新されたデータが必要な場合は、別の道をたどって、3M レコードのマージが問題を引き起こしている理由を正確に把握する必要があります。

    ほとんどの時間は、マージ コマンド中のディスクからのデータの読み取りや、メモリ不足の状況での作業に費やされていることは間違いありません。データベース サーバーにより多くの RAM を詰め込んだほうがよいかもしれません。

    理想的な量は、必要に応じてデータベース全体をメモリに取り込むのに十分な RAM を持つことです。たとえば、4 GB のデータベースがある場合は、8 GB の RAM があることを確認してください.もちろん、x64 サーバーでは.



    1. wp_usermetaテーブルの複数の行に適格なデータを持つユーザーを選択します

    2. PHPを介してMySQLテーブルに列が存在するかどうかを確認します

    3. Docker-RailsアプリはリンクされたPostgresコンテナーに接続できません(実行されていないようです)

    4. このSQLServerクエリ分割計算の何が問題になっていますか?