A method for determining a structured query language, SQL, execution plan for an SQL statement, wherein the SQL execution plan corresponds to at least one relation table and the SQL statement carries at least one identifier, each corresponding to a different relation table of the at least one relation table, and after a reception of the SQL statement an iteration method is performed, wherein the iteration method comprises: a.) obtaining, during an N th iteration, a first iteration parameter generated after a first plan tree is executed on the at least one relation table during an (N-1) th iteration, wherein the first iteration parameter comprises first relation tuples in any one or more of the at least one relation table corresponding to the SQL execution plan, wherein N is a natural number greater than 1 (step 101); b.) establishing, during the N th iteration, a second plan tree according to the first iteration parameter (step 102); c.) executing, during the N th iteration, the second plan tree and recording a second iteration parameter generated when the second plan tree is executed, wherein the second iteration parameter comprises second relation tuples in any one or more of the at least one relation table corresponding to the SQL execution plan (step 103); d.) comparing, during the N th iteration, the second plan tree established during the N th iteration with the first plan tree established during the (N-1) th iteration and determining whether a difference between the second plan tree and the first plan tree is not greater than a first threshold (step 104); e.) if no in step d.), updating, during the N th iteration, the first iteration parameter according to the second iteration parameter and using the updated first iteration parameter as a first iteration parameter during a next (N+1) th iteration (step 105); f.) after step e.), updating, during the N th iteration, the first plan tree by using the second plan tree during the present N th iteration as a first plan tree during the next (N+1) th iteration (step 106), and subsequently increasing, during the N th iteration, N by one and returning to step a.); g.) if yes in step d.), determining, during the N th iteration, the second plan tree as the SQL execution plan (step 107); h.) after step g.), storing, during the N th iteration, a correspondence between the determined second plan tree and the SQL statement. a.) obtaining, during an N th iteration, a first iteration parameter generated after a first plan tree is executed on the at least one relation table during an (N-1) th iteration, wherein the first iteration parameter comprises first relation tuples in any one or more of the at least one relation table corresponding to the SQL execution plan, wherein N is a natural number greater than 1 (step 101); b.) establishing, during the N th iteration, a second plan tree according to the first iteration parameter (step 102); c.) executing, during the N th iteration, the second plan tree and recording a second iteration parameter generated when the second plan tree is executed, wherein the second iteration parameter comprises second relation tuples in any one or more of the at least one relation table corresponding to the SQL execution plan (step 103); d.) comparing, during the N th iteration, the second plan tree established during the N th iteration with the first plan tree established during the (N-1) th iteration and determining whether a difference between the second plan tree and the first plan tree is not greater than a first threshold (step 104); e.) if no in step d.), updating, during the N th iteration, the first iteration parameter according to the second iteration parameter and using the updated first iteration parameter as a first iteration parameter during a next (N+1) th iteration (step 105); f.) after step e.), updating, during the N th iteration, the first plan tree by using the second plan tree during the present N th iteration as a first plan tree during the next (N+1) th iteration (step 106), and subsequently increasing, during the N th iteration, N by one and returning to step a.); g.) if yes in step d.), determining, during the N th iteration, the second plan tree as the SQL execution plan (step 107); h.) after step g.), storing, during the N th iteration, a correspondence between the determined second plan tree and the SQL statement.