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

クエリの実行後にSQLServerがメモリを解放しない

    SQL Serverは実際、このメモリがオペレーティングシステムによって明示的に必要とされない限り解放されない、可能な限り多くのRAMを要求するように設計されています。最善のアプローチは、サーバーが使用できるRAMの量を制限することです。これにより、OSは、何でも使用できるように設定された量のリソースを使用できるようになります。これを設定するには SQL ServerManagementStudioを使用してメモリオプションを構成する方法 :

    次のコマンド(例)を使用して、T-SQLでこれを実行することもできます。

    exec sp_configure 'max server memory', 1024
    reconfigure
    

    消費を1GBに制限します。

    注:上記は、SQLServerのすべての側面をその量のメモリに制限するものではありません。これは、バッファプールと実行プランキャッシュのみを制御します。 CLR、フルテキスト、SQL Server .exeファイルで使用される実際のメモリ、SQLエージェント、拡張ストアドプロシージャなどは、この設定では制御されません。ただし、これらの他のものは通常、それほど多くのメモリを必要としません。メモリの大部分を必要とするのは、バッファプールと実行プランキャッシュです。

    これがお役に立てば幸いです。



    1. サーバーはクライアントに不明な文字セット(255)を送信しましたが、文字セットは一致します

    2. 修正方法:プールを使用しているときにjdbc:mysql:// localhost / dbnameエラーに適したドライバーが見つかりませんか?

    3. SpringJDBCTemplate-1つのクエリで複数のパラメータを使用して複数の結果を取得する方法

    4. MySQLで最後の削除コマンドをロールバックするにはどうすればよいですか?