並列検索機能で使用するメモリの見積り式について説明します。
使用メモリ量の概算は、次の式で見積もってください。
並列検索機能で使用するメモリ量 = (並列処理プロセスの共有メモリ量 + プロセス間通信用の共有メモリ量 + 並列処理プロセスのローカルメモリ量) × 並列検索を行う最大同時実行SQL文数
並列処理プロセスの共有メモリ量
並列処理プロセスの共有メモリ量 = (並列処理プロセスごとに消費される共有メモリの基礎メモリ量 + max_locks_per_transaction × ロック情報のサイズ) × max_parallel_degree
並列処理プロセスごとに消費される共有メモリの基礎メモリ量 = 1800バイト
ロック情報のサイズ = 272バイト
プロセス間通信用の共有メモリ量
プロセス間通信用の共有メモリ量 = 検索処理の共有のためのメモリ量 + 検索結果の交換のためのメモリ量
検索処理の共有のためのメモリ量 = 1メガバイト
検索結果の交換のためのメモリ量 = 128キロバイト × max_parallel_degree
並列処理プロセスのローカルメモリ量
並列処理プロセスのローカルメモリ量 = (並列処理プロセスごとに消費されるローカルメモリの基礎メモリ量 + work_mem) × max_parallel_degree
並列処理プロセスごとに消費されるローカルメモリの基礎メモリ量 = 3メガバイト
ポイント
共有メモリは、IPC資源の消費を伴います。“付録J カーネルパラメータの設定”でカーネルパラメータに設定する値に、上記の共有メモリ量を加算してください。