“Frequent Itemset Mining” is a domain where several techniques have been proposed in recent years. The most common techniques are tree-based, list-based, or hybrid approaches. Although each of these approaches was proposed with the intent of mining frequent itemsets efficiently, as the number of transactions increases, the performance of most of these algorithms gradually declines either in terms of time or memory. In addition, the presence of redundant itemsets is another crucial problem where a limited investigation has been carried out in recent years. There is thus a pressing need to develop more efficient algorithms that will address each of these concerns. This paper aims to survey the different approaches highlighting the advantages and disadvantages of each of them so that in future effective algorithms may be designed for extracting frequent items while addressing each of these concerns effectively.