I won't recommend what you should get. I will relate my experience with a bed cover.
I had a GMC Sierra 2500 HD, 6.0L, Extend Cab with a bed cover. The cover was great at keeping debris out of the bed or hauling lumber or sheet goods. Didn't do squat for fuel efficiency.
Anything taller than the bed side walls, I would remove it. Easy to remove, pain to store when off the truck. After a few years, the vinal began to look weathered, dirt would collect in the texture. Scubbing and clean up was a pain. The lift struts weakened and were replaced within 4 years. Not a hard job, just a PITA. I felt the lift struts should last longer. They were mostly in the closed position.
All in all. I'm glad I don't have a cover or a shell on the Tacoma. Typically, any debris in the bed blows out when I reach speeds over 35 mph.