Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A computer-implemented method comprising: providing in a non-transitory computer readable storage medium at a server, a database comprising data organized in tables; posing a query to the database through an engine; causing the engine to provide to a user, a visual representation of a database query plan search space, wherein the visual representation comprises a tree structure including a plurality of nodes, and wherein a cost is associated with each of the plurality of nodes; causing the engine to provide to the user, a second visual representation of the database query plan search space, wherein the second visual representation comprises a plurality of polygons, wherein the plurality of polygons correspond to the plurality of nodes, and wherein an area of each polygon depends on the cost of each corresponding node; based upon the visual representation of the database query plan search space, providing a query plan manipulation request to the database through the engine, wherein the query plan manipulation request corresponds to a direct manipulation of the visual representation; returning to the engine from the database, a result of the query plan manipulation request; causing the engine to display the result to the user; and storing the result in a second non-transitory computer readable storage medium.
A computer system allows a user to interactively explore and modify database query plans. It presents a visual representation of the query plan search space as a tree structure, where each node has an associated cost. The system also displays a second visual representation using polygons (e.g., rectangles), where the area of each polygon corresponds to the cost of the node it represents. The user can directly manipulate these visual representations to request changes to the query plan. The system then returns the results of the manipulation (e.g., a modified query plan) and displays it to the user, storing the result for later use. The database contains data organized in tables and the query is posed to the database through an engine.
2. The method of claim 1 further comprising displaying the cost of an individual node based upon interaction between the user and the visual representation through an interface.
The computer system described above, which displays query plans as trees and polygons representing cost, also shows the specific cost of a selected node. When the user interacts with the visual representation (e.g., by hovering over a node), the cost associated with that individual node is displayed through a user interface. The cost display dynamically updates based on the user's interaction with the query plan visualization.
3. The method of claim 1 wherein the result comprises an actual execution time.
The computer system described above, which displays query plans as trees and polygons and allows user manipulation, returns a result that includes the actual execution time of the modified query plan. After the user makes changes and submits the plan, the system executes the plan and reports the time it took to run the query.
4. The method of claim 1 wherein the result comprises an estimated cost generated by an optimizer module.
The computer system described above, which displays query plans as trees and polygons and allows user manipulation, returns a result that includes an estimated cost for the modified query plan. This estimated cost is generated by an optimizer module within the database system, which predicts the resource usage and execution time of the plan.
5. The computer-implemented method of claim 1 , further comprising: receiving a user selection; and selectively displaying one of the visual representation and the second visual representation, according to the user selection.
The computer system for interactive query plan visualization, which displays both a tree structure of nodes and a polygon representation of costs, allows the user to choose which visualization is displayed. The system receives a user selection (e.g., via a button or menu option) and selectively shows either the tree-based view or the polygon-based view, depending on the user's preference. Only one view is displayed at any given time, according to user selection.
6. The computer-implemented method of claim 1 , wherein the plurality of polygons includes at least two overlapping rectangles.
The computer system that displays query plans as polygons, where area represents cost, uses a visualization where at least two of the rectangles overlap. This overlapping arrangement helps to visualize the relationships between different operations in the query plan and how their costs contribute to the overall query cost.
7. The computer-implemented method of claim 1 , wherein the plurality of polygons includes a first rectangle that is completely overlapped by a second rectangle.
The computer system that displays query plans as polygons, where area represents cost, uses a visualization where one rectangle is completely contained within another. This complete overlap signifies a hierarchical relationship within the query plan, such as a subquery or nested operation, where the inner rectangle represents the cost of the nested part and the outer rectangle includes that cost as part of its own.
8. The computer-implemented method of claim 1 , wherein the plurality of polygons includes a first rectangle associated with a first cost that is overlapped by a second rectangle associated with a second cost, wherein the first cost is less than the second cost.
The computer system that displays query plans as polygons, where area represents cost, uses a visualization where a rectangle with a lower cost is overlapped by a rectangle with a higher cost. This situation represents a scenario where a less expensive sub-operation is part of a more expensive overall operation. The overlapping nature communicates the dependence of one operation within the other.
9. The computer-implemented method of claim 1 , wherein the plurality of polygons includes a first rectangle, a second rectangle, and a third rectangle, wherein the first rectangle completely overlaps the second rectangle and the third rectangle, and wherein the second rectangle and the third rectangle do not overlap.
The computer system that displays query plans as polygons, where area represents cost, uses a visualization with three rectangles. One rectangle completely overlaps the other two, and those two do not overlap each other. This indicates a top-level operation encompassing two distinct, non-overlapping sub-operations. The encompassing rectangle's area represents the combined cost of itself and the two sub-operations.
10. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising: posing through an engine, a query to a database stored in a second non-transitory computer readable storage medium at a server, the database comprising data organized in tables; causing the engine to provide to a user, a visual representation of a database query plan search space, wherein the visual representation comprises a tree structure including a plurality of nodes, and wherein a cost is associated with each of the plurality of nodes; causing the engine to provide to the user, a second visual representation of the database query plan search space, wherein the second visual representation comprises a plurality of polygons, wherein the plurality of polygons correspond to the plurality of nodes, and wherein an area of each polygon depends on the cost of each corresponding node; based upon the visual representation of the database query plan search space, providing a query plan manipulation request to the database through the engine, wherein the query plan manipulation request corresponds to a direct manipulation of the visual representation; returning to the engine from the database, a result of the query plan manipulation request; causing the engine to display the result to the user; and storing the result in the non-transitory computer readable storage medium.
A computer program stored on a computer-readable medium allows a user to interactively explore and modify database query plans. It presents a visual representation of the query plan search space as a tree structure, where each node has an associated cost. The system also displays a second visual representation using polygons (e.g., rectangles), where the area of each polygon corresponds to the cost of the node it represents. The user can directly manipulate these visual representations to request changes to the query plan. The system then returns the results of the manipulation (e.g., a modified query plan) and displays it to the user, storing the result for later use. The database contains data organized in tables and the query is posed to the database through an engine.
11. The non-transitory computer readable storage medium of claim 10 further comprising code to display the cost of an individual node, based upon interaction between the user and the visual representation through an interface.
The computer program described above, which displays query plans as trees and polygons representing cost, also includes code to show the specific cost of a selected node. When the user interacts with the visual representation (e.g., by hovering over a node), the cost associated with that individual node is displayed through a user interface. The cost display dynamically updates based on the user's interaction with the query plan visualization.
12. The non-transitory computer readable storage medium of claim 10 wherein the result comprises an actual execution time.
The computer program described above, which displays query plans as trees and polygons and allows user manipulation, returns a result that includes the actual execution time of the modified query plan. After the user makes changes and submits the plan, the system executes the plan and reports the time it took to run the query.
13. The non-transitory computer readable storage medium of claim 10 wherein the result comprises an estimated cost generated by an optimizer module.
The computer program described above, which displays query plans as trees and polygons and allows user manipulation, returns a result that includes an estimated cost for the modified query plan. This estimated cost is generated by an optimizer module within the database system, which predicts the resource usage and execution time of the plan.
14. A computer system comprising: one or more processors; a non-transitory computer readable storage medium storing a software program, executable on said computer system, the software program configured to: pose through an engine, a query to a database stored in a second non-transitory computer readable storage medium at a server, the database comprising data organized in tables; cause the engine to provide to a user, a visual representation of a database query plan search space, wherein the visual representation comprises a tree structure including a plurality of nodes, and wherein a cost is associated with each of the plurality of nodes; causing the engine to provide to the user, a second visual representation of the database query plan search space, wherein the second visual representation comprises a plurality of polygons, wherein the plurality of polygons correspond to the plurality of nodes, and wherein an area of each polygon depends on the cost of each corresponding node; based upon the visual representation of the database query plan search space, provide a query plan manipulation request to the database through the engine, wherein the query plan manipulation request corresponds to a direct manipulation of the visual representation; return to the engine from the database, a result of the query plan manipulation request; cause the engine to display the result to the user; and store the result in the non-transitory computer readable storage medium.
A computer system contains a processor and memory that executes a program for interactive database query plan exploration. The software presents a visual representation of the query plan search space as a tree structure, where each node has an associated cost. It also shows a second visual representation using polygons (e.g., rectangles), where the area of each polygon corresponds to the cost of the node. The user can directly manipulate these visualizations to request changes to the query plan. The system returns the result of the manipulation (a modified query plan) and displays it. The database has data organized in tables, and the query goes through an engine.
15. The computer system of claim 14 further comprising displaying the cost of an individual node, based upon interaction between the user and the visual representation through an interface.
The computer system described above, which displays query plans as trees and polygons representing cost, also displays the cost of a selected node. User interaction with the visualization (e.g. hovering over a node) triggers the display of the associated individual node cost through a user interface. The cost dynamically updates as the user interacts.
16. The computer system of claim 14 wherein the result comprises an actual execution time.
The computer system described above, which displays query plans as trees and polygons, returns a result that includes the actual execution time of a modified query plan. After the user makes changes and submits the plan, the system executes the plan, providing feedback on the run time.
17. The computer system of claim 14 wherein the result comprises an estimated cost generated by an optimizer module.
The computer system described above, which displays query plans as trees and polygons, returns a result that includes an estimated cost for the modified query plan. The estimated cost is generated by an optimizer module within the database system, predicting resource use.
Unknown
September 16, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.