Class CreateBrinIndexOptionsSyntax
Inherited Members
Namespace: FluentMigrator.Builder.Create.Index
Assembly: FluentMigrator.Extensions.Postgres.dll
Syntax
public class CreateBrinIndexOptionsSyntax : AbstractCreateIndexMethodOptionsSyntax, ICreateBrinIndexOptionsSyntax, ICreateIndexMethodOptionsSyntax, ICreateIndexOptionsSyntax
Constructors
CreateBrinIndexOptionsSyntax(ICreateIndexOptionsSyntax)
Declaration
public CreateBrinIndexOptionsSyntax(ICreateIndexOptionsSyntax createIndexOptionsSyntax)
Parameters
| Type | Name | Description |
|---|---|---|
| ICreateIndexOptionsSyntax | createIndexOptionsSyntax |
Fields
IndexAutosummarize
Declaration
public const string IndexAutosummarize = "PostgresBrinautosummarize"
Field Value
| Type | Description |
|---|---|
| string |
IndexPagesPerRange
Declaration
public const string IndexPagesPerRange = "PostgresBrinPagesPerRange"
Field Value
| Type | Description |
|---|---|
| string |
Methods
Autosummarize()
Defines whether a summarization run is invoked for the previous page range whenever an insertion is detected on the next one.
Declaration
public ICreateBrinIndexOptionsSyntax Autosummarize()
Returns
| Type | Description |
|---|---|
| ICreateBrinIndexOptionsSyntax | The next step |
Autosummarize(bool)
Defines whether a summarization run is invoked for the previous page range whenever an insertion is detected on the next one.
Declaration
public ICreateBrinIndexOptionsSyntax Autosummarize(bool autosummarize)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | autosummarize | True to enable fast autosummarize or false to disable. |
Returns
| Type | Description |
|---|---|
| ICreateBrinIndexOptionsSyntax | The next step |
DisableAutosummarize()
Disable the a summarization that run is invoked for the previous page range whenever an insertion is detected on the next one.
Declaration
public ICreateBrinIndexOptionsSyntax DisableAutosummarize()
Returns
| Type | Description |
|---|---|
| ICreateBrinIndexOptionsSyntax | The next step |
Fillfactor(int)
The fillfactor for an index is a percentage that determines how full the index method will try to pack index pages.
Declaration
public ICreateBrinIndexOptionsSyntax Fillfactor(int fillfactor)
Parameters
| Type | Name | Description |
|---|---|---|
| int | fillfactor | The fillfactor value from 10 to 100 can be selected |
Returns
| Type | Description |
|---|---|
| ICreateBrinIndexOptionsSyntax | The next step |
Remarks
For B-trees, leaf pages are filled to this percentage during initial index build, and also when extending the index at the right (adding new largest key values). If pages subsequently become completely full, they will be split, leading to gradual degradation in the index's efficiency. B-trees use a default fillfactor of 90, but any integer value from 10 to 100 can be selected. If the table is static then fillfactor 100 is best to minimize the index's physical size, but for heavily updated tables a smaller fillfactor is better to minimize the need for page splits. The other index methods use fillfactor in different but roughly analogous ways; the default fillfactor varies between methods.
PagesPerRange(int)
Defines the number of table blocks that make up one block range for each entry of a BRIN index. For more information about it see: https://www.postgresql.org/docs/current/brin-intro.html
Declaration
public ICreateBrinIndexOptionsSyntax PagesPerRange(int range)
Parameters
| Type | Name | Description |
|---|---|---|
| int | range | The page per range |
Returns
| Type | Description |
|---|---|
| ICreateBrinIndexOptionsSyntax | The next step |