A method and apparatus for creating a statistical representation of a
query result that can be performed without executing the underlying
query. For a binary-join query, a scan is performed on one of the join
tables. A multiplicity value that estimates the number of tuples in the
other join table that has a matching join attribute to the scanned tuple
is calculated. A number of copies (as determined by the multiplicity
value) are placed in a stream of tuples that is sampled to compile the
statistical representation of the query result. For acyclic-join
generating queries including selections, the above procedure is
recursively extended. If multiple statistical representations are sought,
scans can be shared. Scan sharing can be optimized using shortest common
supersequence techniques.
Une méthode et un appareil pour créer une représentation statistique d'une question résultent qui peut être exécutée sans exécuter la question fondamentale. Pour une question de binaire-joindre, un balayage est exécuté sur une des tables de joindre. Une valeur de multiplicité qui estime le nombre de tuples dans l'autre joignent la table qui a un assortiment pour joindre l'attribut au tuple balayé est calculée. Un certain nombre de copies (comme déterminé par la valeur de multiplicité) sont placées dans un jet des tuples qui est prélevé pour compiler la représentation statistique du résultat de question. Pour acyclique-joignez produire des questions comprenant des choix, le procédé ci-dessus est périodiquement prolongé. Si des représentations statistiques multiples sont cherchées, des balayages peuvent être partagés. Le partage de balayage peut être optimisé en utilisant les techniques de supersequence communes les plus courtes.