The present invention applies one or more pruning heuristics to the expression, the binding, and/or the substitute during a database query optimization process. The heuristics identify certain rules that can be eliminated by either not applying the rules and/or not implementing the rules for a given expression and context (if any) based upon one or more flow rates of the expression. The pruning heuristics can eliminate the application of rules based upon the flow rates of the binding or substitute, for example. Examples include (1) not applying (cutting) a MergeJoin rule for a join expression when an inner table is small enough to be stored in a memory space that is allocated for a HashJoin; (2) not applying implementation rules on the substitute of a left-shift rule for an expression if the resulting input data flow rate from the left child of the join is significantly larger in the substitute than in the binding; (3) not applying the join to TSJ (tuple substitute join) rule if the data flow output of the join expression is significantly larger than the data flow input from the inner child of the join expression; or (4) not applying implementation rules on the substitute join expression of a left shift rule if the number of cross products increases and if the data flow rate from the left child is increases.

A invenção atual aplica aquele ou mais heuristics podando à expressão, ao emperramento, e/ou ao substituto durante um processo do optimization da pergunta da base de dados. O heuristics identifica determinadas réguas que podem ser eliminadas não aplicando as réguas e/ou não executando as réguas para uma expressão e um contexto dados (se algum) baseados em uma ou em mais taxas de fluxo da expressão. O heuristics podando pode eliminar a aplicação das réguas baseadas nas taxas de fluxo do emperramento ou do substituto, para o exemplo. Os exemplos incluem (1) não aplicando (corte) uma régua de MergeJoin para uma expressão juntar quando uma tabela interna é pequena bastante ser armazenada em um espaço de memória que esteja alocado para um HashJoin; (2) não aplicando a execução governam no substituto do esquerdo-deslocam a régua para uma expressão se os resultantes da entrada fluxo de dados taxa da criança esquerda juntar forem significativamente maiores no substituto do que no emperramento; (3) não aplicar juntar à régua de TSJ (o substituto do tuple junta) se os fluxo de dados saída da expressão juntar forem significativamente maiores do que os fluxo de dados entrada da criança interna da expressão juntar; ou (4) não aplicando a execução as réguas no substituto juntam a expressão de uma régua do deslocamento esquerdo se o número de produtos transversais aumentar e se os fluxo de dados taxa da criança esquerda forem aumentos.

 
Web www.patentalert.com

< (none)

< Overlapping subdocuments in a vector space search process

> Restoration of concrete decks

> (none)

~ 00005