はい。バッファプールにキャッシュされている使用済みインデックスのデータページは、データキャッシュのスペースを占有します。ただし、インデックスを使用しないようにしてください(最初に、クラスター化インデックスは実際のテーブルデータなので、そのことも覚えておいてください)。インデックスの使用(もちろん、適切に設計および実装されている)は良いことです。
メモリの問題は、ほとんどの場合、テーブルにインデックスがあることによるものではありません。メモリの問題に飛び込み、問題は正確には何ですか?ページの寿命が短いですか?サーバーでメモリはどのように構成されていますか?最大サーバーメモリが低すぎてバッファープールのサイズが制限されていますか?
データキャッシュのインデックスページの内訳を取得するには、次のクエリを実行します。
select
count(*) as total_page_count,
count(*) * 8 as total_consumption_kb,
sum(row_count) as total_row_count
from sys.dm_os_buffer_descriptors
where page_type = 'INDEX_PAGE'
group by page_type
データベースごとにこれらの統計を取得するには:
select
db_name(database_id) as database_name,
count(*) as total_page_count,
count(*) * 8 as total_consumption_kb,
sum(row_count) as total_row_count
from sys.dm_os_buffer_descriptors
where page_type = 'INDEX_PAGE'
group by database_id
order by total_consumption_kb desc
"Another database developer believes we are having memory issues on the server"
-何に基づいていますか?サーバーに搭載されているRAMの量、インスタンスメモリの設定、およびプロシージャキャッシュによって消費されているメモリの量はどれくらいですか。