Equations and disequations over rational trees arise naturally in the context of constraint logic programming [6,10]. In this paper, we reconsider (after Colmerauer [4,7] and Jaffar [9]) the problem of solving these constraints incrementally (semi-dynamically) and consider the problem of determining entailment of these constraints with respect to a monotonically increasing constraint store of equations and disequations. The main contributions of the paper are new algorithms for disequation solving and disequality entailment. The algorithms exploit systematically three simple ideas: global caching, lazy evaluation and detection of implicit equalities. The disequation algorithm is a direct algorithm (contrary to Colmerauer's algorithm which uses unification as a subroutine). Its on-line version, which is almost-quadratic, is shown to be superior to Colmerauer's algorithm, which is almost-cubic, although Colmerauer's algorithm is superior off-line. Incremental disequality entailment is much more subtle, and to our knowledge was not considered before. We present a direct algorithm whose off-line version is almost-quadratic, and on-line version is almost-cubic. Its key idea is to reduce disequality entailment to a Boolean combination of equality entailments. Both versions improve upon a naive indirect algorithm by an order of magnitude asymptotically.