Whether you should use dynamic or static stretching pre and post workout is a hotly debated topic. Both types have their benefits, but most research suggests that dynamic stretching is preferential before training and static stretching after.
Stretching helps to support muscle flexibility so that we have a healthy range of motion in the joints, necessary to build and maintain strength. Without flexibility the muscles shorten and become tight meaning they have limited range of movement during activity, which increases the risk of joint pain, strains and muscle damage.
Dynamic stretches involve motion, such as a lunge, whilst static stretches require you to hold a stretched position without moving for a certain period of time.
Using dynamic stretches before a workout helps to prepare the body for exercise by working the muscles and joints through the full range of movement at a lower intensity. For someone about to do weighted squats, for example, a bodyweight squat would be an ideal warm-up as it mimics the movement about to be performed, therefore preparing the body.
On the other hand, it has been found that static stretching before exercise can weaken performance, since the act of holding a stretch can fatigue the muscles whilst also not preparing the joints for the movement about to be performed. Instead, static stretching should be used after workout when the muscles are already warmed up and more flexible, to help improve muscle length. This can help to improve flexibility, reduce the risk of cramping and improve range of motion over time. It is generally recommended that static stretches are held for a minimum of 20-30 seconds.