What is the difference between pipelining and materialization? explain with an example. Which method is preferred whenever feasible and why?