Search Results for

    Show / Hide Table of Contents

    Interface ICreateGinIndexOptionsSyntax

    Gin index options

    Inherited Members
    ICreateIndexOptionsSyntax.Unique()
    ICreateIndexOptionsSyntax.NonClustered()
    ICreateIndexOptionsSyntax.Clustered()
    Namespace: FluentMigrator.Builder.Create.Index
    Assembly: FluentMigrator.Extensions.Postgres.dll
    Syntax
    public interface ICreateGinIndexOptionsSyntax : ICreateIndexMethodOptionsSyntax, ICreateIndexOptionsSyntax

    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
    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
    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
    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
    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
    ICreateGinIndexOptionsSyntax PendingListLimit(long limit)
    Parameters
    Type Name Description
    long limit

    The list limit in kilobytes.

    Returns
    Type Description
    ICreateGinIndexOptionsSyntax

    The next step

    Extension Methods

    MySqlExtensions.Using(ICreateIndexOptionsSyntax, IndexType)
    MySqlExtensions.UsingBTree(ICreateIndexOptionsSyntax)
    MySqlExtensions.UsingHash(ICreateIndexOptionsSyntax)
    PostgresExtensions.AsConcurrently(ICreateIndexOptionsSyntax)
    PostgresExtensions.AsConcurrently(ICreateIndexOptionsSyntax, bool)
    PostgresExtensions.AsOnly(ICreateIndexOptionsSyntax)
    PostgresExtensions.AsOnly(ICreateIndexOptionsSyntax, bool)
    PostgresExtensions.Fillfactor(ICreateIndexOptionsSyntax, int)
    PostgresExtensions.Filter(ICreateIndexOptionsSyntax, string)
    PostgresExtensions.Include(ICreateIndexOptionsSyntax, string)
    PostgresExtensions.Tablespace(ICreateIndexOptionsSyntax, string)
    PostgresExtensions.UniqueNullsDistinct(ICreateIndexOptionsSyntax, bool)
    PostgresExtensions.UniqueNullsNotDistinct(ICreateIndexOptionsSyntax)
    PostgresExtensions.Using(ICreateIndexOptionsSyntax, Algorithm)
    PostgresExtensions.UsingBTree(ICreateIndexOptionsSyntax)
    PostgresExtensions.UsingBrin(ICreateIndexOptionsSyntax)
    PostgresExtensions.UsingGin(ICreateIndexOptionsSyntax)
    PostgresExtensions.UsingGist(ICreateIndexOptionsSyntax)
    PostgresExtensions.UsingHash(ICreateIndexOptionsSyntax)
    PostgresExtensions.UsingSpgist(ICreateIndexOptionsSyntax)
    SqlServerExtensions.Filter(ICreateIndexOptionsSyntax, string)
    SqlServerExtensions.Include(ICreateIndexOptionsSyntax, string)
    SqlServerExtensions.Online(ICreateIndexOptionsSyntax, bool)
    SqlServerExtensions.UniqueNullsDistinct(ICreateIndexOptionsSyntax, bool)
    SqlServerExtensions.UniqueNullsNotDistinct(ICreateIndexOptionsSyntax)
    SqlServerExtensions.WithDataCompression(ICreateIndexOptionsSyntax, DataCompressionType)
    In this article
    Back to top
    Copyright © 2018 Fluent Migrator Project
    Generated by DocFX
    Creative Commons License
    FluentMigrator Documentation by FluentMigrator Project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.