Class association rules play an important role in decision support systems and have thus been extensively studied. Recently, an efficient algorithm for mining class association rules, named CAR-Miner, has been proposed. It, however, consumes a lot of memory for storing the Obidsets (sets of object identifiers that contain itemsets) of itemsets and requires a lot of time to compute the intersection between two Obidsets, especially in the large datasets. This paper proposes an improved algorithm for mining class association rules that uses the difference between two Obidsets (d2O) to save memory usage and run time. Firstly, the d2O concept is developed. A strategy for reducing the storage space and computation time of d2O is then derived. Experimental results show that the proposed algorithm is more efficient than CAR-Miner in terms of run time and memory usage.