Class CreateGistIndexOptionsSyntax
Inherited Members
Namespace: FluentMigrator.Builder.Create.Index
Assembly: FluentMigrator.Extensions.Postgres.dll
Syntax
public class CreateGistIndexOptionsSyntax : AbstractCreateIndexMethodOptionsSyntax, ICreateGiSTIndexOptionsSyntax, ICreateIndexMethodOptionsSyntax, ICreateIndexOptionsSyntax
Constructors
CreateGistIndexOptionsSyntax(ICreateIndexOptionsSyntax)
Declaration
public CreateGistIndexOptionsSyntax(ICreateIndexOptionsSyntax createIndexOptionsSyntax)
Parameters
Type | Name | Description |
---|---|---|
ICreateIndexOptionsSyntax | createIndexOptionsSyntax |
Methods
Buffering(GistBuffering)
Building large GiST indexes by simply inserting all the tuples tends to be slow, because if the index tuples are scattered across the index and the index is large enough to not fit in cache, the insertions need to perform a lot of random I/O. For more information about it see: https://www.postgresql.org/docs/current/gist-implementation.html#GIST-BUFFERING-BUILD
Declaration
public ICreateGiSTIndexOptionsSyntax Buffering(GistBuffering buffering)
Parameters
Type | Name | Description |
---|---|---|
GistBuffering | buffering | The GistBuffering value. |
Returns
Type | Description |
---|---|
ICreateGiSTIndexOptionsSyntax | 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 ICreateGiSTIndexOptionsSyntax Fillfactor(int fillfactor)
Parameters
Type | Name | Description |
---|---|---|
int | fillfactor | The fillfactor value from 10 to 100 can be selected |
Returns
Type | Description |
---|---|
ICreateGiSTIndexOptionsSyntax | 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.