元以前,运河是沿汴水逆流向上到洛阳、开封的。虽然黄河在宋末南夺淮河,但是
元朝初年的漕运基本上是利用隋炀帝时所开凿的那条南北大运河。它由杭州至镇江,过江北上入淮,西逆黄河到中滦(今河南封丘),然后陆运至淇门(今河南淇县),入御河(今卫河),经直沽(今天津)转入白河,达通州(今北京通州区),再陆运至大都。1289年(至元二十六年),元世祖下令开凿会通河即山东运河,起自东平路须城县(今山东东平)安山西南,至临清抵达御河,全长二百五十多里,建闸门31道,计役人工二百五十多万工。1291年(至元二十八年),元世祖又从郭守敬建议,役使一万九千多名兵士、五百四十多名工匠、三百多名水手、一百七十多名“没官囚奴”,共用二百八十多万工,开凿了从大都到通州的通惠河,全长一百六十多里。这样,南北大运河全线开通,连接海河、黄河、淮河、长江和钱塘江五大水系,加强了京师与最富庶的江南地区的联系。会通河建设之后的主要问题是无水,元朝的济州河,以汶、泗为水源,先将两水引到任城,然后进行南北分流。由于任城不是济州河的最高点,真正的最高点在其北面的南旺,因此,任城分水,南流偏多,北流偏少。结果,济州河的北段,河道浅涩,只通小舟,不通大船。后来永乐九年(公元1411年),明成祖命工部尚书宋礼整修运河,宋礼采纳熟悉当地地形的汶上老人白英的建议施工修戴村坝,引汶绝济,用汶河水补充运河(会通河)水量,才基本解决会通河也就是后来鲁运河的问题。即使如此,为保证漕运,鲁运河沿线是不允许引运河水灌溉的,打井都不行。
而会通河北部受黄河北决影响很大,比如明洪武二十四年(公元1391年),黄河在原武(河南原阳西北)决口,洪水挟泥沙滚滚北上,会通河1/3的河段被毁;正统十三年(1448年),黄决口新乡一带,东北流于运河张秋以南沙湾,决运堤,携运水东行入海,淤上下运道;为弘治二年(1492年),河又决开封一带,北流冲断张秋运河。所以明清两代黄河在河南、徐州这一线是保北不保南,结果苦了豫东、皖北的老百姓。
而鲁运河以南,准确地讲今南四湖以南则则变化比较大。
先说黄河(淮河)以南,明以后,黄河夺淮,里运河(淮河到长江这一段)与黄河交叉的地方叫清口,也是淮河河道和黄河河道交接的地方,本意是引淮河水冲黄河泥沙,为此修高家堰提高洪泽湖-淮河水位,但是黄河水沙更大,下游越淤越高,洪泽湖大堤也越修越高,淮河洪泽湖以上水患也越来越严重,最后1851年淮河被迫从洪泽湖东南角冲决三河改道入长江了。淮河水除了冲黄河淤沙外,还通过引河入里运河。黄河泥沙还有相应的御黄堤坝拦截。
黄河往北,原先是走黄河逆流到徐州往北,到镇北,入会通河,这一段是原泗水故道,和泗水壅塞形成的南四湖诸湖——一开始还不叫南四湖。
古泗水由兖州西南流,经鲁桥、南阳至谷亭东,折而南,过湖陵城西、沛县城东、留城东,至徐州东北,折东南流入淮(也就是夺淮以后的黄河)。元至元二十年(1283年),济州河开成,鲁桥以下段泗水借用为运道。为防止西来黄水冲击,遂逐渐加高泗水西岸堤防,迎淤面和被淤面高差增大。
嘉靖四十五年,工部尚书朱衡开鱼台南阳镇至徐州留城140余里新河,移运河于诸湖之东较高地点,以诸湖为水柜,使黄水泛滥时入湖停蓄。新河下接旧河,50里至茶城,共长195里,称南阳新河或夏镇新河。新河将孟阳泊中分为二,西为南阳湖,东为独山湖。
康熙二十五年御批而掘中运河,再次将运道东移,使京杭运河运道至此全部脱离黄河,仅在黄淮交汇口—清口与黄河相交。此时,赤山、微山、吕孟、张庄、郗山5湖,合为一个大湖,统名为微山湖。
从这里可以看出,运河过黄河,从南向北是逆流直到鲁运河内高点(主要靠拉纤和划船),是泗水淮河受到黄河悬河堵塞导致潴水,形成湖泊,抬高了水位。
1855年黄河北徙,鲁运河被冲毁淤塞,航运遂告中断,大运河仅余里运河和江南运河。60年代,大运河中运河段以韩庄运河、中运河复建,鲁运河北段以梁济运河复建,但由于缺水实际上主要通航仍为里运河,现在南水北调工程结合大运河山东段复建,大运河通航河段将北到今东平湖。
所以说大运河、洪泽湖、废黄河、淮河(包括沂沭泗河)之间是很乱的,特别是黄河夺淮,折腾豫皖苏鲁四省几个世纪,到现在淮河水患才基本控制住。