본래 수산부곡(守山部曲, 또는 穿山部曲·銀山部曲)이었는데, 고려 때 현으로 승격되었다. 1018년(고려, 현종 9)에 밀양부의 임내로 하였다가 조선시대에 직촌(直村)이 되었다. 수산의 위치는 밀양에서 남쪽 40리 지점인 낙동강 유역이다.
조선시대에는 밀양에서 금동역(金洞驛)을 지나 이곳의 양동역(良洞驛)에서 낙동강을 건너 태산역(太山驛)을 거쳐 김해에 이르는 도로가 발달했었다. 당시에는 이곳에 백산봉수(栢山烽燧)가 있어 남북으로 연결되었다. 이곳은 지리적 위치 때문에 고려 말기 이후 왜구의 침입이 잦았던 곳이다.
신라시대에 축조된 수산제(守山堤)가 조선 말기까지 있었는데 이것은 주위가 20여 리나 되었다. 저수지 속에 죽도라는 섬이 있었다고 하나 현재는 그 유적을 찾아보기 어렵다. 지금의 하남읍 지역으로 추정된다.