The effects of heroin can be felt almost immediately after use, depending on the method of ingestion. Snorting or smoking heroin generally produces a high that can last for approximately 15 to 30 minutes, while injecting it can produce a more potent high that may last for several hours. However, the drug itself can remain in the system for much longer, affecting both physical and cognitive functions.