7.3.18. database_unmap
¶
7.3.18.1. 概要¶
バージョン 5.0.7 で追加.
database_unmap
はデータベース中のすでにマップしてあるテーブルとカラムをアンマップします。「マップ」とはテーブルとカラムをディスクからロードしてメモリー上に展開することです。「アンマップ」とはマップしたメモリーを解放することです。
注釈
通常、 database_unmap
を使う必要はありません。なぜなら、OSが賢くメモリーを管理してくれるからです。もし、システムの残メモリーが少なくなったら、OSはGroongaが使っているメモリーをディスクに退避します。退避したメモリーは必要になったらまたメモリーに戻します。OSは使っていないメモリーを優先して退避します。
注意
このコマンドは thread_limit が 1
を返すときしか使えません。つまり、マルチスレッド環境ではこのコマンドは動かないということです。
7.3.18.2. 構文¶
このコマンドに引数はありません:
database_unmap
7.3.18.3. 使い方¶
最大スレッド数を 1
に変更したあとならデータベースをアンマップできます。
実行例:
thread_limit --max 1
# [[0, 1337566253.89858, 0.000355720520019531], 2]
database_unmap
# [[0, 1337566253.89858, 0.000355720520019531], true]
最大スレッド数が 1
より大きい場合は database_unmap
は失敗します。
実行例:
thread_limit --max 2
# [[0, 1337566253.89858, 0.000355720520019531], 1]
database_unmap
# [
# [
# -2,
# 1337566253.89858,
# 0.000355720520019531,
# "[database_unmap] the max number of threads must be 1: <2>",
# [
# [
# "proc_database_unmap",
# "proc.c",
# 3705
# ]
# ]
# ],
# false
# ]
7.3.18.4. 引数¶
このセクションではすべての引数について説明します。
7.3.18.4.1. 必須引数¶
必須の引数はありません。
7.3.18.4.2. 省略可能引数¶
省略可能な引数はありません。
7.3.18.5. 戻り値¶
このコマンドが成功したときは以下のようにボディは true
になります:
[HEADER, true]
このコマンドが失敗すると、 HEADER
にエラーの詳細が含まれます。
HEADER
については 出力形式 を参照してください。