| 摘要: |
| 如何高效地处理说明性查询语言中嵌入的用户自定义函数,是查询优化的一个重要内容.以往的研究成果不能处理一条语句中的多个用户函数,并且难以实现.提出了分3个阶段进行优化的方案,能够对用户定义的多个函数进行处理.首先,把用户定义的函数以区间约束的形式等价地表述出来;然后,通过对区间约束进行分层筛选,去掉冗余;最后,选择最佳的执行策略.该方案易于实现,效率较高,特别是在用户定义的函数本身隐含多个表的连接条件时,更能取得明显的优化效果. |
| 关键词: 约束数据库 查询优化 用户定义函数 区间约束 连接 |
| DOI: |
| 分类号: |
| 基金项目:山东省自然科学基金资助项目(Q97G01158);霍英东青年科学家基金资助项目(71065) |
|
| Optimization of Multiple User-Defined Functions in a Query Using Interval Constraints |
|
YANG Bo,HONG Xiao guang,WANG Hai yang
|
| Abstract: |
| 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 hasn't been solved in the former researches. There isn't a proposal in these researches that can be implemented easily. In this paper, 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 eliminats 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. |
| Key words: constraint database query optimization user defined function interval constraints join |