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