Long-Range Wide Area Network (LoRaWAN) is a fast-growing communication system for Low Power Wide Area Networks (LPWAN) in the Internet of Things (IoTs) deployments. LoRaWAN is built to optimize LPWANs for battery lifetime, capacity, range, and cost. LoRaWAN employs an Adaptive Data Rate (ADR) scheme that dynamically optimizes data rate, airtime, and energy consumption. The major challenge in LoRaWAN is that the LoRa specification does not state how the network server must command end nodes pertaining rate adaptation. As a result, numerous ADR schemes have been proposed to cater for the many applications of IoT technology, the quality of service requirements, different metrics, and radio frequency (RF) conditions. This offers a challenge for the reliability and suitability of these schemes. This paper presents a comprehensive review of the research on ADR algorithms for LoRaWAN technology. First, we provide an overview of LoRaWAN network performance that has been explored and documented in the literature and then focus on recent solutions for ADR as an optimization approach to improve throughput, energy efficiency and scalability. We then distinguish the approaches used, highlight their strengths and drawbacks, and provide a comparison of these approaches. Finally, we identify some research gaps and future directions.