[rules-users] [Column(f1=='v1', f2=='v2')] vs [Column(f1=='v1') Column(f2== 'v2')]

Olenin, Vladimir (MOH) Vladimir.Olenin at moh.gov.on.ca
Wed Feb 7 10:01:21 EST 2007


Hi,

 

I wonder what is the difference (performance-wise, etc) between these two
constructs:

 

Column(f1=='v1', f2=='v2')

 

And

 

Column(f1=='v1')

Column(f2=='v2')

 

?

 

Both of them should select the same 'Column' facts (where Column.f1=='v1' &&
Column.f2='v2'), correct? Is one construct more preferable then another one?
Does JBossRules hash only the evaluation result of the 'full column' OR
individual field constraints as well? From what I understand, only the full
'Column' is defined as an (alpha?) node while individual constraints within
the node can not be further optimized, correct? 

 

Meaning, if I have another condition somewhere like this:

 

 Column(f1=='v1', f2=='ANOTHER_VAL')

 

[f1=='v1'] constraint would have to be reevaluated again, while if I define
constraints through two 'separate' columns and the new constraint as

 

 Column(f1=='v1)

 Column(f2=='ANOTHER_VAL')

 

only the new constraint would have to be reevaluated. Do I understand it
right?

 

Thanks!

 

Vlad




More information about the rules-users mailing list