{"id":2134,"date":"2013-05-04T11:09:23","date_gmt":"2013-05-04T15:09:23","guid":{"rendered":"http:\/\/hstore.cs.brown.edu\/?page_id=2134"},"modified":"2013-07-11T14:48:51","modified_gmt":"2013-07-11T18:48:51","slug":"query-planning","status":"publish","type":"page","link":"https:\/\/hstore.cs.brown.edu\/documentation\/development\/query-planning\/","title":{"rendered":"Query Planning & Execution"},"content":{"rendered":"
The following is meant to document the process of how the system processes query requests from transactions and executes them in on the appropriate partitions.<\/p>\nWhen a transaction is running, the procedure’s control code can queue SQLStmts<\/tt> in a batch and then issue that batch for execution to the system. For example, the transaction shown below from YCSB will queue two invocations of the readStmt<\/tt> query in a batch and then have the DBMS execute them using voltExecuteSQL<\/tt>. The call to voltExecuteSQL<\/tt> will block the transaction’s control code until the results are retrieved and returned.<\/p>\n\n