Class QueryInsights

  • All Implemented Interfaces:
    Serializable, SdkPojo, ToCopyableBuilder<QueryInsights.Builder,​QueryInsights>

    @Generated("software.amazon.awssdk:codegen")
    public final class QueryInsights
    extends Object
    implements SdkPojo, Serializable, ToCopyableBuilder<QueryInsights.Builder,​QueryInsights>

    QueryInsights is a performance tuning feature that helps you optimize your queries, reducing costs and improving performance. With QueryInsights, you can assess the pruning efficiency of your queries and identify areas for improvement to enhance query performance. With QueryInsights, you can also analyze the effectiveness of your queries in terms of temporal and spatial pruning, and identify opportunities to improve performance. Specifically, you can evaluate how well your queries use time-based and partition key-based indexing strategies to optimize data retrieval. To optimize query performance, it's essential that you fine-tune both the temporal and spatial parameters that govern query execution.

    The key metrics provided by QueryInsights are QuerySpatialCoverage and QueryTemporalRange. QuerySpatialCoverage indicates how much of the spatial axis the query scans, with lower values being more efficient. QueryTemporalRange shows the time range scanned, with narrower ranges being more performant.

    Benefits of QueryInsights

    The following are the key benefits of using QueryInsights:

    • Identifying inefficient queriesQueryInsights provides information on the time-based and attribute-based pruning of the tables accessed by the query. This information helps you identify the tables that are sub-optimally accessed.

    • Optimizing your data model and partitioning – You can use the QueryInsights information to access and fine-tune your data model and partitioning strategy.

    • Tuning queriesQueryInsights highlights opportunities to use indexes more effectively.

    The maximum number of Query API requests you're allowed to make with QueryInsights enabled is 1 query per second (QPS). If you exceed this query rate, it might result in throttling.

    See Also:
    Serialized Form
    • Method Detail

      • mode

        public final QueryInsightsMode mode()

        Provides the following modes to enable QueryInsights:

        • ENABLED_WITH_RATE_CONTROL – Enables QueryInsights for the queries being processed. This mode also includes a rate control mechanism, which limits the QueryInsights feature to 1 query per second (QPS).

        • DISABLED – Disables QueryInsights.

        If the service returns an enum value that is not available in the current SDK version, mode will return QueryInsightsMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

        Returns:
        Provides the following modes to enable QueryInsights:

        • ENABLED_WITH_RATE_CONTROL – Enables QueryInsights for the queries being processed. This mode also includes a rate control mechanism, which limits the QueryInsights feature to 1 query per second (QPS).

        • DISABLED – Disables QueryInsights.

        See Also:
        QueryInsightsMode
      • modeAsString

        public final String modeAsString()

        Provides the following modes to enable QueryInsights:

        • ENABLED_WITH_RATE_CONTROL – Enables QueryInsights for the queries being processed. This mode also includes a rate control mechanism, which limits the QueryInsights feature to 1 query per second (QPS).

        • DISABLED – Disables QueryInsights.

        If the service returns an enum value that is not available in the current SDK version, mode will return QueryInsightsMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

        Returns:
        Provides the following modes to enable QueryInsights:

        • ENABLED_WITH_RATE_CONTROL – Enables QueryInsights for the queries being processed. This mode also includes a rate control mechanism, which limits the QueryInsights feature to 1 query per second (QPS).

        • DISABLED – Disables QueryInsights.

        See Also:
        QueryInsightsMode
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)