web-dev-qa-db-ja.com

フルテキストインデックス作成でのSQLServerバッファプール拡張

32GBのRAMとSQLServer 2014 Enterpriseがインストールされているサーバーがあります。全文人口に対するバッファプール拡張(BPE)の影響を試してみたいと思います。

テーブルを作成し、100GBのサイズに達するまでダミー情報を入力しました。

まず、BPEの前に全文索引を入力してみました。 3時間かかりました。次に、120GBが割り当てられたメモリを備えた140GBSSDで構成されたBPEを全文インデックスに入力してみました。奇妙なことに、全文索引の人口はこれ以上速くなりませんでした。

次のクエリを使用してSSDにBPEを作成し、インスタンスを再起動しました。

alter server configuration
set buffer pool extension
on ( filename = 'Z:\Cache.bpe' , size = 120gb )

質問は:

  1. SQL Serverのバッファープールの使用状況を確認する方法(BPEが使用されているかどうかを知りたい)?

  2. BPEはフルテキストインデックスの作成に影響しますか?

  3. サーバーまたはバッファープールの構成を見逃しましたか?

2
Yahfoufi

SQL Serverのバッファープールの使用状況を確認する方法(BPEが使用されているかどうかを知りたい)?

クエリできます sys.dm_os_buffer_descriptors

例は次のようになります。

SELECT   CONVERT(NUMERIC(38, 2), COUNT(*) * 8 / 1024.0) AS cached_data_mb,
         CONVERT(NUMERIC(38, 2), SUM(CONVERT(BIGINT, free_space_in_bytes)) / 1024. / 1024.) AS free_mb,
         CASE database_id
              WHEN 32767 THEN 'ResourceDb'
              ELSE DB_NAME(database_id)
         END AS database_name
FROM     sys.dm_os_buffer_descriptors
GROUP BY DB_NAME(database_id), database_id
ORDER BY cached_data_mb DESC;

サーバーまたはバッファープールの構成を見逃しましたか?

ドキュメント からはそのようには表示されません。提示されるオプションは多くありません。

BPEはフルテキストインデックスの作成に影響しますか?

2つの機能を一緒に使用することには、多くの人がを別々に。ここで独自の実験を行う必要があるかもしれません。

注意すべきことの1つは、BPEアクティビティがシングルスレッドであり、各I/Oが単一の8Kページに制限されていることです。これにより、フルテキストでは効果がなくなる可能性があります。

サーバーに適切な量のRAMを貼り付けたいと思います。

2
Erik Darling