Class QueryInsights
- All Implemented Interfaces:
Serializable,SdkPojo,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 queries –
QueryInsightsprovides 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
QueryInsightsinformation to access and fine-tune your data model and partitioning strategy. -
Tuning queries –
QueryInsightshighlights 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:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic QueryInsights.Builderbuilder()final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final inthashCode()final QueryInsightsModemode()Provides the following modes to enableQueryInsights:final StringProvides the following modes to enableQueryInsights:static Class<? extends QueryInsights.Builder> Take this object and create a builder that contains all of the current property values of this object.final StringtoString()Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
mode
Provides the following modes to enable
QueryInsights:-
ENABLED_WITH_RATE_CONTROL– EnablesQueryInsightsfor the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsightsfeature to 1 query per second (QPS). -
DISABLED– DisablesQueryInsights.
If the service returns an enum value that is not available in the current SDK version,
modewill returnQueryInsightsMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available frommodeAsString().- Returns:
- Provides the following modes to enable
QueryInsights:-
ENABLED_WITH_RATE_CONTROL– EnablesQueryInsightsfor the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsightsfeature to 1 query per second (QPS). -
DISABLED– DisablesQueryInsights.
-
- See Also:
-
-
modeAsString
Provides the following modes to enable
QueryInsights:-
ENABLED_WITH_RATE_CONTROL– EnablesQueryInsightsfor the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsightsfeature to 1 query per second (QPS). -
DISABLED– DisablesQueryInsights.
If the service returns an enum value that is not available in the current SDK version,
modewill returnQueryInsightsMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available frommodeAsString().- Returns:
- Provides the following modes to enable
QueryInsights:-
ENABLED_WITH_RATE_CONTROL– EnablesQueryInsightsfor the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsightsfeature to 1 query per second (QPS). -
DISABLED– DisablesQueryInsights.
-
- See Also:
-
-
toBuilder
Description copied from interface:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<QueryInsights.Builder,QueryInsights> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin interfaceSdkPojo- Parameters:
obj- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo- Returns:
- The mapping between the field name and its corresponding field.
-