Search Results for

    Show / Hide Table of Contents

    Interface ICreateGiSTIndexOptionsSyntax

    GiST index options

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

    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
    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
    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.

    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.