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 –
QueryInsights
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 queries –
QueryInsights
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:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic QueryInsights.Builder
builder()
final boolean
final boolean
equalsBySdkFields
(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 int
hashCode()
final QueryInsightsMode
mode()
Provides the following modes to enableQueryInsights
:final String
Provides 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 String
toString()
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
– EnablesQueryInsights
for the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsights
feature to 1 query per second (QPS). -
DISABLED
– DisablesQueryInsights
.
If the service returns an enum value that is not available in the current SDK version,
mode
will 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
– EnablesQueryInsights
for the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsights
feature to 1 query per second (QPS). -
DISABLED
– DisablesQueryInsights
.
-
- See Also:
-
-
modeAsString
Provides the following modes to enable
QueryInsights
:-
ENABLED_WITH_RATE_CONTROL
– EnablesQueryInsights
for the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsights
feature to 1 query per second (QPS). -
DISABLED
– DisablesQueryInsights
.
If the service returns an enum value that is not available in the current SDK version,
mode
will 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
– EnablesQueryInsights
for the queries being processed. This mode also includes a rate control mechanism, which limits theQueryInsights
feature to 1 query per second (QPS). -
DISABLED
– DisablesQueryInsights
.
-
- See Also:
-
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<QueryInsights.Builder,
QueryInsights> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in 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:
sdkFieldNameToField
in interfaceSdkPojo
- Returns:
- The mapping between the field name and its corresponding field.
-