Global query hint specification

US2016253385A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016253385-A1
Application numberUS-201615150363-A
CountryUS
Kind codeA1
Filing dateMay 9, 2016
Priority dateFeb 13, 2013
Publication dateSep 1, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A query optimizer may receive a query (e.g., from a source that generated the query). Input that specifies both a query hint string and a hint may be received to a hint specification interface. The hint may be applied to the query, from outside the query, to optimize a query execution plan. Applying the hint may be based, at least in part, on a query hint string. For example, which query block is associated with the query hint string may be determined. Upon such a determination, the hint may be applied to the determined query block.

First claim

Opening claim text (preview).

1 .- 20 . (canceled) 21 . A system, comprising: a memory; and one or more processors coupled to the memory, wherein the memory comprises program instructions that when executed by the one or more processors causes the one or more processors to: receive a query directed to a data store; separate from the query, receive a specification of both a query hint string and a hint; identify two or more query blocks of the query associated with the query hint string; optimize a query execution plan for the query, wherein to optimize the query execution plan the program instructions cause the one or more processors to apply the query hint to the two or more query blocks to modify the query from outside the query; and execute the query execution plan to query the data store. 22 . The system of claim 21 , wherein to identify the two or more query blocks of the query that are associated with the query hint string, the program instructions cause the one or more processors to: determine that the two or more query blocks includes the query hint string; or determine that a hashed version of the two or more query blocks matches a hash value associated with the query hint string. 23 . The system of claim 21 , wherein the query hint is received via a hint specification interface. 24 . The system of claim 21 , wherein the query hint is received prior to the query. 25 . The system of claim 21 , wherein at least one of the two or more query blocks is one of nested set of query blocks in the query, and wherein the query hint is applied to the nested of query blocks in the query. 26 . The system of claim 21 , wherein the program instructions cause the one or more processors to further: receive another query directed to the data store; identify one or more other query blocks of the other query associated with the query hint string; optimize another query execution plan for the other query, wherein to optimize the other query execution plan the program instructions cause the one or more processors to apply the query hint to the one or more other query blocks to modify the other query from outside the other query; and execute the other query execution plan to query the data store 27 . The system of claim 21 , wherein the data store is a distributed data store, wherein the distributed data store comprises a plurality of storage nodes, wherein one of the storage nodes is a leader node, wherein other ones of the storage nodes are compute nodes, wherein the leader node performs the receipt of the query, the receipt of the specification of both the query hint and the query hint string, the identification of the two or more query blocks, and the optimization of the query execution plan, and wherein the compute nodes perform the execution of the query execution plan. 28 . A method, comprising: performing, by one or more computing devices: receiving a query directed to a data store; separate from the query, receiving a specification of both a query hint string and a hint; identifying two or more query blocks of the query associated with the query hint string; optimizing a query execution plan for the query, wherein to optimize the query execution plan the program instructions cause the one or more processors to apply the query hint to the two or more query blocks to modify the query from outside the query; and executing the query execution plan to query the data store. 29 . The method of claim 28 , wherein identifying the two or more query blocks of the query that are associated with the query hint string comprises: determining that the two or more query blocks includes the query hint string; or determining that a hashed version of the two or more query blocks matches a hash value associated with the query hint string. 30 . The method of claim 28 , wherein the query hint is received via a hint specification interface. 31 . The method of claim 28 , wherein the query hint is received prior to the query. 32 . The method of claim 28 , wherein at least one of the two or more query blocks is one of nested set of query blocks in the query, and wherein the query hint is applied to the nested of query blocks in the query. 33 . The method of claim 28 , further comprising: receiving another query directed to the data store; identifying one or more other query blocks of the other query associated with the query hint string; optimizing another query execution plan for the other query, wherein to optimize the other query execution plan the program instructions cause the one or more processors to apply the query hint to the one or more other query blocks to modify the other query from outside the other query; and executing the other query execution plan to query the data store 34 . The method of claim 1 , wherein the data store is a distributed data store, wherein the distributed data store comprises a plurality of storage nodes, wherein one of the storage nodes is a leader node, wherein other ones of the storage nodes are compute nodes, wherein the leader node performs the receiving of the query, the receiving of the specification of both the query hint and the query hint string, the identifying of the two or more query blocks, and the optimizing of the query execution plan, and wherein the compute nodes perform the executing of the query execution plan. 35 . A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement: receiving a query directed to a data store; separate from the query, receiving a specification of both a query hint string and a hint; identifying two or more query blocks of the query associated with the query hint string; optimizing a query execution plan for the query, wherein to optimize the query execution plan the program instructions cause the one or more processors to apply the query hint to the two or more query blocks to modify the query from outside the query; and executing the query execution plan to query the data store. 36 . The non-transitory, computer-readable storage medium of claim 35 , wherein, in identifying the two or more query blocks of the query that are associated with the query hint string, the program instructions cause the one or more computing devices to implement: determining that the two or more query blocks includes the query hint string; or determining that a hashed version of the two or more query blocks matches a hash value associated with the query hint string. 37 . The non-transitory, computer-readable storage medium of claim 35 , wherein the query hint is received via a hint specification interface. 38 . The non-transitory, computer-readable storage medium of claim 35 , wherein the query hint is received prior to the query. 39 . The non-transitory, computer-readable storage medium of claim 35 , wherein at least one of the two or more query blocks is one of nested set of query blocks in the query, and wherein the query hint is applied to the nested of query blocks in the query. 40 . The non-transitory, computer-readable storage medium of claim 35 , wherein the program instructions cause the one or more computing devices to further implement: receiving another query directed to the data store; identifying one or more other query blocks of the other query associated with the query hint string; optimizing another query execution plan for the other query, wherein to optimize the other query execution p

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016253385A1 cover?
A query optimizer may receive a query (e.g., from a source that generated the query). Input that specifies both a query hint string and a hint may be received to a hint specification interface. The hint may be applied to the query, from outside the query, to optimize a query execution plan. Applying the hint may be based, at least in part, on a query hint string. For example, which query block …
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/24549. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Sep 01 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).