Class CreateGinIndexOptionsSyntax
Inherited Members
Namespace: FluentMigrator.Builder.Create.Index
Assembly: FluentMigrator.Extensions.Postgres.dll
Syntax
public class CreateGinIndexOptionsSyntax : AbstractCreateIndexMethodOptionsSyntax, ICreateGinIndexOptionsSyntax, ICreateIndexMethodOptionsSyntax, ICreateIndexOptionsSyntax
Constructors
CreateGinIndexOptionsSyntax(ICreateIndexOptionsSyntax)
Declaration
public CreateGinIndexOptionsSyntax(ICreateIndexOptionsSyntax createIndexOptionsSyntax)
Parameters
Type | Name | Description |
---|---|---|
ICreateIndexOptionsSyntax | createIndexOptionsSyntax |
Methods
DisableFastUpdate()
Disable fast update. Updating a GIN index tends to be slow because of the intrinsic nature of inverted indexes: inserting or updating one heap row can cause many inserts into the index (one for each key extracted from the indexed item). For more information about it see: https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE
Declaration
public ICreateGinIndexOptionsSyntax DisableFastUpdate()
Returns
Type | Description |
---|---|
ICreateGinIndexOptionsSyntax | The next step |
FastUpdate()
Enable fast update. Updating a GIN index tends to be slow because of the intrinsic nature of inverted indexes: inserting or updating one heap row can cause many inserts into the index (one for each key extracted from the indexed item). For more information about it see: https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE
Declaration
public ICreateGinIndexOptionsSyntax FastUpdate()
Returns
Type | Description |
---|---|
ICreateGinIndexOptionsSyntax | The next step |
FastUpdate(bool)
Updating a GIN index tends to be slow because of the intrinsic nature of inverted indexes: inserting or updating one heap row can cause many inserts into the index (one for each key extracted from the indexed item). For more information about it see: https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE
Declaration
public ICreateGinIndexOptionsSyntax FastUpdate(bool fastUpdate)
Parameters
Type | Name | Description |
---|---|---|
bool | fastUpdate | True to enable fast update or false to disable. |
Returns
Type | Description |
---|---|
ICreateGinIndexOptionsSyntax | 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 ICreateGinIndexOptionsSyntax Fillfactor(int fillfactor)
Parameters
Type | Name | Description |
---|---|---|
int | fillfactor | The fillfactor value from 10 to 100 can be selected |
Returns
Type | Description |
---|---|
ICreateGinIndexOptionsSyntax | 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.
PendingListLimit(long)
Sets the maximum size of a GIN index's pending list, which is used when fastUpdate is enabled. If the list grows larger than this maximum size, it is cleaned up by moving the entries in it to the index's main GIN data structure in bulk. If this value is specified without units, it is taken as kilobytes. For more information about it see: https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT
Declaration
public ICreateGinIndexOptionsSyntax PendingListLimit(long limit)
Parameters
Type | Name | Description |
---|---|---|
long | limit | The list limit in kilobytes. |
Returns
Type | Description |
---|---|
ICreateGinIndexOptionsSyntax | The next step |