Depends on the congestion of the resource.
\r
— If to a couple thousand visitors a day, then You need the "classic" version:
+ Table "Cocktails": id, title, link, image, description.
+ Table "Ingredients": id, title, link, image, description.
+ Table Details: id, id_коктеля, id_индигриента, number.
\r
— If the load is more than in the first case, suggest, or actively use caching (if possible) or to the first option to add a table of intermediate results (e.g., with serialized samples in ingredients or even complete data for actelem) and create functions forming them.