摘要
如何高效地处理说明性查询语言中嵌入的用户自定义函数 ,是查询优化的一个重要内容 .以往的研究成果不能处理一条语句中的多个用户函数 ,并且难以实现 .提出了分 3个阶段进行优化的方案 ,能够对用户定义的多个函数进行处理 .首先 ,把用户定义的函数以区间约束的形式等价地表述出来 ;然后 ,通过对区间约束进行分层筛选 ,去掉冗余 ;最后 ,选择最佳的执行策略 .该方案易于实现 ,效率较高 ,特别是在用户定义的函数本身隐含多个表的连接条件时 ,更能取得明显的优化效果 .
How to process user-defined functions incorporated in declarative query languages efficiently is an important aspect of query optimization. The problem of several user-defined functions in a query clause was solved in the former researches. There isn't a proposal in these researches that can be implemented easily. A 3-stage optimization plan is put forward, which has the potency of processing several user-defined functions in a query clause: firstly, rewrite user-defined functions equivalently in the form of interval constraints; secondly, stratify the constraints and eliminate the redundant ones; finally, select the optimal execution strategy. This plan has the virtue of easy implementation and higher efficiency. Especially when the user-defined functions imply join conditions of several tables, this plan can get an obvious optimization result.
出处
《软件学报》
EI
CSCD
北大核心
2001年第9期1393-1398,共6页
Journal of Software
基金
山东省自然科学基金资助项目 (Q97G0 115 8)
霍英东青年科学家基金资助项目 (710 6 5 )~~
关键词
查询优化
用户定义函数
区间约束
数据库系统
Constraint theory
Database systems
Functions
Optimization
Theorem proving