本文へスキップ
`Ctrl`+`K`

# 7.3.22. `defrag`

## 7.3.22.1. 概要

`defrag` コマンドは指定されたオブジェクトのフラグメンテーションを解消します。

Groonga組込コマンドの一つであるdefragについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力 、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。

defragは、対象となるオブジェクト(データベースか可変長サイズカラム)を指定し、オブジェクトのフラグメンテーショ ンを解消します。

Added in version 14.1.1: パトリシアトライのテーブルのキーのフラグメンテーションを解消します。

## 7.3.22.2. 構文

    defrag objname threshold

## 7.3.22.3. 使い方

開いているデータベースのフラグメンテーションを解消する:

    defrag
    [300]

テーブル名 Entry のカラム body のフラグメンテーションを解消する:

    defrag Entry.body
    [30]

## 7.3.22.4. 引数

`objname`

> 対象となるオブジェクト名を指定します。空の場合、開いているdbオブジェクトが対象となります。

## 7.3.22.5. 戻り値

    [フラグメンテーション解消を実行したセグメントの数]

`フラグメンテーション解消を実行したセグメントの数`

> フラグメンテーション解消を実行したセグメントの数を返す。