This paper proposes two methods to mine association rules from transactional data. The first method, called MAR_A algorithm, modifies the approach of generating candidate itemsets of the previous algorithm. The MAR_A algorithm can improve the performance of mining association rules by avoiding generating the duplicate candidate itemsets. The second method, called MAR_R algorithm, takes an approach to generating candidate itemsets of the MAR_A algorithm and clustering frequent itemsets. The MAR_R algorithm can better improve the performance of mining association rules by reducing the search space of frequent itemsets. The experiments show that both algorithms have better running time than the CDAR algorithm or the Apriori algorithm.