1. A method of evaluating a formula in a database system, comprising: receiving a formula defined to accesses data in the database system as input data to produce a result; evaluating the formula to obtain a first result; receiving a change in at least one input data; determining whether the formula accesses input data from only one row of a database table; and synchronously evaluating the formula to obtain a second result when the formula accesses input data from only one row; and otherwise deciding whether to evaluate the formula synchronously or asynchronously to obtain a second result when the formula accesses input data from at least two rows.