【发布时间】:2009-09-21 15:36:14
【问题描述】:
我正在做一些复杂事件处理系统的工作。它支持使用查询语言根据这些记录的成员过滤记录集。该语言支持任意成员的逻辑、算术和用户定义运算符。
以下是支持的查询示例:
( MemberA > MemberB ) &&
( @in MemberC { "str1", "str2" } ) &&
( com.foo.Bar.myPred( MemberD, MemberE ) )
我的问题是我想将查询组合成一个超级查询,然后我想优化该超级查询以消除冗余、重言式和矛盾。例如我要拍
A > 0
并结合
A > 1
这很简单:
A > 0 || A > 1
但后来我想优化它,使其减少到
A > 0
如果有任何 URL 或书籍讨论这个一般性主题,我将不胜感激。
【问题讨论】:
标签: performance algorithm