A pre-cooked ham needs about 3 hours to cook in a crockpot on low, while an uncooked ham needs 6-8 hours.