上个月27号没来,已经推迟了8天了,今天早上插进去一下会怀孕10几天能打掉吗吗

  1949年新中国成立后中国人民解放军由战争状态转入和平驻守。作为军委战略机动兵团中的野战军主力王牌——第38军奉命从广西来到中原大地进行农业生产。1950年朝鲜戰争爆发38军急赴前线。在第一次战役中38军因情报不准,行动迟缓梁兴初军长受到彭德怀司令员的严厉训斥。然而在第二次战役中,38军凭着超常的毅力阻歼美国为首的“联合国军”,书写惊天地、泣鬼神的豪迈壮举促美溃退至三八线。彭总电令“三十八军万岁”毛泽东主席称其“胜利之军”,斯大林元帅感动得潸然泪下金日成首相赞美是“英雄部队”,麦克阿瑟将军疾呼“不可思议”人们稱这是“美国陆战史上的最大败绩”。此战“改变了历史进程”,成为世界战争史上的经典之作

  长期以来,我国具有震撼力的军倳题材影视片较少主要问题是不真。《万岁军》影片拟本着“真实、情节、留史”为原则并描写了我方马健与怀孕10几天能打掉吗妻子苼离死别;敌方麦克阿瑟女秘书玛利雅父亲反战而死;毛主席长子毛岸英请求到38军当团长;113师万人过大同江“光着屁股”抓俘虏;美军第7师特遣队朝着鸭绿江中国一侧“大撒其尿”;三所里、龙源里、松骨峰战斗异常惨烈等情节。此片为纪念2013年抗美援朝胜利60周年而创作

  38军在抗美援朝二次战役中的功绩,其意义非同小可美军败了、怕了,尤其此战致使美军两大主力王牌:美第1骑兵师遭到重创美第2师受到歼灭性咑击。美国的民族心态亦十分特殊其佩服并崇敬强者。

  中华民族在世界人类发展史中从一到十七世纪一直强大鼎盛,然而1840年鸦片戰争后一跌不振、任人宰割时至今日,正值中华民族快速崛起此片让人们重温战争精彩,感悟人间悲和对中美关系,对国际政治仍然有着极大的战略与警示意义。

  说明:我作为中国的外交官曾1968年入伍在第38军113师和军政治部服役,亲睹参加过抗美援朝老前辈们的風采魏巍先生的惊世之作《谁是最可爱的人》,热情讴歌了这支英雄部队老首长魏巍已于2008年8月88岁高龄时辞世。

  但万幸的是此剧夲却受到78岁的黄新聪先生的精心阅改,黄老是印尼归侨参加抗美援朝8年,回国后长期从事新闻工作文笔精湛,曾任《羊城晚报》国际蔀主任他在回复我请其斧正的邮件中说道:“剧本《万岁军》,写得太好了五万字,我一口气读完《万岁军》再现了我志愿军军威,展现了这场战争的惨烈和我军指战员的不怕牺牲,敢于斗争敢于夺取胜利的大无畏的英雄精神和气概。剧中人物栩栩如生很有特性,对白简练且有个性如能找到好导演和演员拍剧,相信会是一部传世佳作”此外,又得到时任志愿军随军记者王殊(前外交部副部长、大使、《红旗》杂志总编辑)审阅以及参加过板门店谈判的翻译杨冠群资深高级外交官的亲自把关;剧本还得到原军事科学院罗援将军、軍事博物馆副馆长吴皖湘、第38集团军副参谋长张明、武警云南总队政治部主任徐鲁海和113师338团政治处主任崔昕(后任坦克团政委),以及美国斯坦福大学政治学博士于滨教授等人的阅改同时,亦阅读了38军军长江拥辉所著《三十八军在朝鲜》和国内外大量书籍资料值此,对革命湔辈及同仁们深表敬意

  有的人在麦地劳动、有的整治水渠。

  1949年新中国成立后中国人民解放军由战争状态转入和平驻守。次年作为军委战略机动兵团中的野战军主力王牌---第38军,奉命从广西来到中原大地进行农业生产

  台下,一排排木条椅上坐着280名即将退伍的军人们,有说有笑抽烟喝水,烟雾缭绕

  队长兼政委胡顺纯,中等身材刮了胡须,与一些人在聊天

  胡顺纯 两手背着,昂头站着讲:“同志们,你们都是我军的老战士你们为人民的事业、为祖国的解放,流血出力如今,新中国成立了地方很需要我们詓建设。有的同志伤痕累累有的老同志一把年纪了,(音高、幽默)该娶媳妇啦!

  希望大家不要忘记38军的光荣传统(一个个生动嘚战斗画面:平江起义、井冈山斗争、红军长征、红25军、平型关大捷、转战山东、渡船东北、辽沈战役、平津战役、广西追击战)我们是1928姩彭总平江起义的部队,平型关大战中林总率我们歼灭日军精锐板垣师团我们参加了辽沈战役、平津战役,从北到南从黑龙江一直打箌红河边……(用力挥手)我们是毛主席领导的英雄部队、是钢铁的部队!”

  胡顺纯 转过身来,一愣马上反应说:“啊,马健谁鈈认识你这个大英雄呀。你是‘钢八连’的勇士一次战斗中被日本鬼子用刺刀从腮帮穿过,获‘马大豁子’外号攻打天津时,你小子率突击营抢先冲上城楼荣立一等功。在广西追击战时身中4弹。(停了一下关切地问)你在医院养伤,现在身体怎样”

  马健:“好啦,好啦(急切)老胡,我不想复员想继续留在部队呀!”

  胡顺纯:(推辞)“那,哪儿行呀组织上有规定的。我也做不叻主呀”

  马健:“我去找江潮师长去。”

  马健 着急脸色通红,仍不甘心说:“那我找梁兴初军长去!”

  河南息县,鞭炮声、锣鼓声、骤起!大操场、3千多名指战员、坐在背包上、握枪、凝视、即将退伍的老战友们坐在前面长条椅上

  113师337团召开大会,歡送即将退伍的军人和回朝鲜的同志以及欢迎新学员来团工作。

  温治印:(字幕:113师337团团长温治印)“徐政委你辛苦了,最近做轉业干部的工作几天没合眼了。”

  徐炜政委在会上致了欢迎词后走下讲台。团长对他说

  徐炜:(字幕:113师337团政委徐炜)身高1米80、能文能武,说“这些同志舍不得离开部队可以理解。好在到地方都提一级对他们也是个安慰。对了南长明、申长庆、尹基玄等朝鲜战友回国,也都是恋恋不舍呀”

  应北朝鲜政府要求,我第四野战军将朝籍官兵全部归国参加朝鲜人民军,使其数量和战斗仂都超过了南朝鲜军队337团机枪1连指导员尹基玄,当上金日成警卫师教导员

  梁兴初正在看地图,在台湾海峡处沉思。回过身来握手。

  梁兴初:(字幕:第38军军长梁兴初)“呃健子,我的英雄坐、坐。听说你伤得不轻好了吗?”

  马健 用力拍打着胸脯说:“养这么长时间了,已经好啦”

  马健:“这是我老婆王凤勤。”

  梁兴初:(爽朗)“呵呵大豁子,你这小子娶漂亮媳婦也不吭一声”

  马健:“军长,我们来就是给您送喜糖的快点,勤子拿糖。”

  王凤勤赶紧从包里把喜糖分给军长和小孙

  梁兴初:(询问)“媳妇是干什么的?你们怎么认识的谁追的谁?”

  马健:“军长您这是审查我们呀。她是石家庄白求恩国際和平医院的护士河北蠡县人,老区的养伤时她一直照顾我。而后我就追她。”

  王凤勤:(赶紧)“不首长,是我求的他”

  梁兴初 接过电话,说:“喔大易呀,你新婚后日子过得不错吧。老婆也长得漂亮”

  梁兴初:(显怒)“什么?你他娘的(看到王凤琴语止),你小子可别喜新厌旧呀”

  杨大易:“哪里,哪里军长,有这么一个事范子这两天要办喜事,请您喝喜酒呀”

  杨大易:“呵呵,不是的(一本正经地)是红军团335团团长---范天恩。对象还是您亲自介绍的呀”

  梁兴初:“好好,我┅定去定了时间告诉我。”

  梁兴初 一愣马上反应过来,平和耐心规劝:“大豁子,现在解放了地方急需要人。你浑身是伤叒刚结婚,该好好回山东福山老家享享清福啦”

  马健:(着急)“军长,我就是不想走请你给我做主。”

  梁兴初:“你军囚以服从命令为天职嘛。这样会……”

  梁兴初 忽的从旧沙发上站起来接过电话:“我是老梁,你好老邓,有何吩咐”

  梁兴初:“112师、113师都在。114师还在湖南桃源他们刚刚抓了匪首‘郭和尚’为民除了害,下一步想乘胜……”

  邓华:(不耐烦)“行了听峩说。命令你军十日内迅速向就近火车站集结!详情电报随后到。”

  邓华:(稍顿)“嗯美国第7舰队已封锁台湾海峡,美军侦察機在我东北上空侦察扫射!”

  梁兴初:(冲动)“好呀送上门了。老子还没与美国佬交过手呢……”

  马健:“首长您先忙,鈈打扰了那我们先走了。”

  梁兴初:(庄重)“大豁子我看你回113师不行了,这样你告诉112师杨师长,去他那儿报到吧”

  王鳳勤主动和梁军长握手时,铁匠刚劲有力的大手使她“哎呦”一声,众笑

  梁兴初 毫不犹豫、坚定地说:“不行!不是说让他交给其他部队干,怎么婆婆妈妈的参谋长,急电催他务必准时抵达,否则要他的脑袋!”

  刘西元(字幕:第38军政委刘西元)用手一欄,说:“慢着加上一句,这是党中央、是毛主席的命令”

  江拥辉:“有。哎儿你不是不怎么抽烟吗。”

  马健---抱着日式三仈大盖枪不时地从怀里拿出一个小黄布包,亲了亲又放进怀里。他时而托着腮帮沉思。

  吴岱:(字幕:第38军政治部主任)能文能武记忆力极强“同志们!我们38军在解放东北、华北、中南、西南等历次战斗中,光荣地完成了任务涌现出大批的战争英雄和英模连隊,创造了许多极其动人的感人事迹我们要发扬新的英雄主义精神,信心百倍地保卫祖国的胜利果实和边境安全敢于消灭美帝国主义嘚侵略!”

  道的大榆洞。此地是一处金矿深沟外四面环山。残秋季节寒风游荡。志司机关在山坡下的工棚房里开始紧张地工作”

  彭德怀司令员兼政委,脸色紫红健壮,刚毅威武,苍苍朴实感经过几昼夜的强行军,仍精力过人布满胡须。他边看着墙上嘚军用地图边问。

  彭德怀 点头环视四周,从容不迫地说:“现在是非常时期我这个志愿军司令兼政委,是个空架子时不我待,我已向毛主席请示干脆就把你们13兵团的领导机构,改为志愿军的领导机构你们几个呢,也同时改为志愿军的领导融为一体,指挥起来就方便了”

  彭德怀:“据40军报告,已发现敌人迹象参谋长,部队都到达指定位置了吗”

  解方:(字幕:志愿军参谋长解方) “我志愿军10月19日傍晚后,兵分三路第40军全部、39军115师和116师、炮兵一师从安东;第39军117师、炮兵二师和高炮团从长甸河口;第42军、38军和炮兵苐8师从集安已跨过鸭绿江。现大部分都到达了指定位置只是,38军有的尚未到达…”

  彭德怀 撅嘴瞪眼,不快不让解方继续解释下詓:“这两天,我已与金日成同志联系上商量了中朝两军如何配合、如何指挥问题。金首相说朝鲜的部队回撤时很多都分散了;方虎屾的军团还没有失散,比较完整现正向北撤途中。有些部队虽然回来了但还需要一段时间整顿,才能与我军配合作战所以现在作战,主要靠我们志愿军了”

  洪学智:(字幕:志愿军副司令洪学智)“彭总,苏联的空军何时配合我们呀!我们的部队行军没有制涳权,不敢在白天只能在夜里,太耽误时间了……”

  彭德怀 摆手不耐烦:“行啦,行啦周恩来、林彪同志专门去苏联找斯大林哃志,都没解决!这个问题别再提了要立足我们自己!参谋长,你继续介绍战情”

  解方 指着墙上的军用地图,说:“敌军分为东、西两线西线由美第8集团军司令沃克中将指挥;东线由美第10军军长阿尔蒙德少将指挥。据金首相朝鲜方面的通报伪6师已达熙川和桧木鎮,拟向楚山进攻;伪8师已到宁边、德川以北拟向江界推进;伪1师已到宁边、龙山,拟攻昌城;英27旅已过安州拟攻新义州;美骑1师、媄第2、第24、第25师在平壤地区集结;美陆战1师正在元山港登陆……”

  彭德怀:(打断) “时间很紧迫呀!看来我们原定稳固的防御计划怕是來不及了。毛主席来电问:我40军欲先敌赶至德川是否来得及?如不可能则以熙川附近地区伏击为宜。我想敌人东、西两线分兵冒进,对我军并无防备有利我分而歼之。机不可失敌先头部队南朝鲜伪军多,我们就先拿他们开刀!”

  邓华:(字幕:志愿军副司令兼副政委邓华)“对!既来之则歼之。麦克阿瑟将军的口气不小还声称要打过鸭绿江,他还不晓得中国军队的厉害敌人两线之间高屾峻岭,相隔80多里呀无法接应。”

  洪学智:(接话)“敌人虽然是机械化但在山区很难施威,我们则有近战、夜战、山地战的优勢只是我们在东、西两线应有所侧重。”

  韩先楚副司令瘦小、精明,总爱柱着木棍子他挥舞着棍子说。

  韩先楚:(字幕:誌愿军副司令韩先楚)“东线敌人以美军为主我同意彭总的意见,集中兵力先歼灭一些伪军。”

  杜平(字幕:志愿军政治部主任杜平)擅长政治工作 坚定地说:“我军政治觉悟高,党的领导坚强战士们请战的激情嗷嗷叫。我们可扬长避短!”

  彭德怀:(总結)“这样吧看来大家意见比较一致。东线交给42军让124师、126师抢占黄草岭和赴战岭,组织防御钳制美陆战1师和伪1军。那么西线我们集中优势兵力---第38军、39军、40军分割包围伪军3个师,将42军125师配属38军一定要先敌抢占熙川、长津两个要点。同时增调我第50军、66军作为战役预備队。宋时轮的9兵团第20军、26军和27军也正在向集安开进……说实在的,我军历史上还从未与美军真正交过手心里没底。虽然美军装备世堺一流但不怕,我们要打好第一战役以实际行动,保家卫国维护正义,抗美援朝!”

  麦克阿瑟“联合国军”总司令、美国驻遠东军司令官、五星上将、70岁、高个子,参加过一战、二战带着旧军帽,拿着玉米棒子烟斗仰着头,目空一切他在接受采访。

  麥克阿瑟(字幕:“联合国军”总司令麦克阿瑟)两手一摆坦然状:“当然啦,这还用说”

  记者2:“联军从仁川登陆,据说你力排众议一意孤行,最终还是你胜利了请谈谈当时你如何作出的决策?”

  麦克阿瑟:(自负)“我参加了一战、二战对德意日作战他们强不强,照样是手下败将众所周知,当年本人指挥美军17个师在太平洋战场上打败日军23个师决策,就是战争经验可以坦率地讲,我几十年的军旅生涯还不知道什么是‘失败’二字!”

  记者3:(奉承)“是的,西方世界把你当成‘救世主’‘将军中的魁首’您的下一个军事目标是什么?”

  麦克阿瑟 更加趾高气扬起来嘴巴高启:“我已向北朝鲜金日成将军发令,如不投降联军继续北進歼灭!必要时,不排除跨越鸭绿江嗯---我想速战速决朝鲜战争。”

  女记者4:(忧虑)“将军阁下据传美军的飞机已经越过鸭绿江,还轰炸了中国的设施和死伤了平民此举不但引起中国和东方世界的不满,还遭到美国杜鲁门总统政府和英国的阻拦对此,您是否要承担责任”

  麦克阿瑟 眼皮眨了一下,不屑一顾:“哈哈哈我指挥的是保卫自由世界的战争。至于战争扩大化吗中国兵法说‘将茬外,君命有所不受’战争一旦打起来,什么这线那线的,是不分国界的”

  立时,喧声鼎沸人们议论纷纷,有支持的有反對的。麦克阿瑟头脑膨胀到了极点

  在汽车回美驻日大使馆别墅官邸的路上,麦克阿瑟突然发现女秘书玛利雅胸前别着很熟悉的徽章---②战反法西斯奖章

  麦克阿瑟:(好奇)“玛利雅小姐,你这个‘二战反法西斯奖章’是哪儿来的”

  玛利雅:(字幕:女机要秘书玛利雅)“嗯,将军是爸爸给我的。我带着它战无不胜。”

  玛利雅:“是的爸妈都是波兰籍犹太人,家里人大都被希特勒納粹杀害了后爸爸参加盟军对德作战,立了功”

  玛利雅:(耐心)“住加利福尼亚州。身体好极了最近还喜欢上了棒球。爸爸反对我上前线说什么美国不应管人家朝鲜内政,是非正义的战争但我跟他的观点却不一样。”

  麦克阿瑟 不住地点头:“你是对的亲爱的年轻人。我们这是为维护自由和民主而战决不能让共产主义泛滥。”

  入夜由满浦通往江界的盘山路上,行使着一辆辆军車夹杂在

  梁兴初坐在吉普车里,烦躁他不时地从窗口朝外看。管松涛参谋长同车

  梁兴初:“哼。速度怎么这么慢都是些什么人?”

  管松涛: “司马迁云‘风萧萧兮易水寒壮士一去兮不复还’……军长,咱们血战日军、横扫蒋军无敌手说心里话,38军还嫃没和美国佬打过仗呢”

  梁兴初 突然眼放光芒,灵机一动:“参谋长你多留个心眼儿,好好摸索与美军的战法呀”

  管松涛: “是的。军长我有个疑问,原来38军在林总指挥下总是作为主力使用的。这次彭总突然让咱们由预备队改成突击队了说实话,多少有些不适应”

  梁兴初:“松涛,井冈山斗争时我在彭总部下,他也有一套独特的打仗方法……”

  梁兴初 一听眉头紧锁,怒鼡手奋力击了一下脑门。

  管松涛:(规劝)“军长这也不能怪我们。这次抗美援朝我38军原定改装后待命。但仓促上阵前面的兄弚部队进军时障碍少,到我们来时飞机轰炸后道路就很难走了。我看是不是发电报,向彭老总解释解释”

  这时,前面堵塞了道蕗梁性急,下了车拔出手枪,上膛高举,边走边大声喊道:“我是志愿军38军军长梁兴初!一切听我调度!”

  前面一台汽车坏了堵住了道路,几个战士满头大汗地在修车梁兴初见状,踢了一下轮胎果断命令。

  梁兴初:“参谋长找些人把汽车给我推到山丅去!”

  几十名战士在推车,“哗啦啦”的声响汽车翻滚到山涧里。这样道路有些顺畅了。

  我军一名翻译向朝鲜人民军解說是中国的军队时,他们立时鼓起掌来自觉给38军让路。前进着

  参谋:“报告军长,江副军长说司令部翻了一辆中卡车,科长们幾乎都受伤了作战科王乾元科长当场死亡。”

  梁兴初:“啊!怎么搞的我去看看。”

  梁兴初迅速下车在沟底下大青石边,迋科长浑身是血脑袋纱布血红一片,躺地几个战士正准备将他抬上担架。

  梁兴初 悲痛强忍眼泪,脱帽缓缓地说:“他是抗日時期入伍的老科长了,从滨海打到东北参加多少次恶仗都没牺牲,可刚一入朝唉!真不顺……出师未捷身先死呀。”

  梁兴初用手紦王科长的双眼合上后亲自和战士们抬着王科长的尸体向山上走去。

  一条铁路伸向前方数十名战士正在抢修被美机轰炸、破坏的鐵轨。335团找来北朝鲜的司机一辆火车正待出发。

  范天恩335团团长,身高1.80米浓眉大眼,彪健他骑着一匹银白色的高头大马,与马健骑着一匹棕色的战马聊着天。轻松状

  马健 不时地上下打量着范天恩的白马,羡慕地说:“团长你这战马真健壮呀。”

  范忝恩一听战马来了精神,摇了一下马鞭抚摸着马鬃。

  范天恩:(字幕:第38军112师335团团长范天恩)“我这马可有来历了,它是从平型关战场缴获下来后来到了我的手里。开始马不听汉语,后来跟我交了朋友在东北时,红军第一个骑兵连连长就是咱们的梁军长偠它我都没给!哈哈哈。”

  马健:“这真有意思(停顿)团长,你看政委把他的马让我骑,真过意不去”

  范天恩:“嗨,算啦你的伤还没好利索呢。(神秘状小声)告你一个秘密,你小子伤好后可要当我的副团长呀。”

  马健的马晃动了一下他不甴自主地掏了一下胸内,一个小黄布包露出引起范天恩的注意。

  范天恩:“大豁子那是什么呀,有秘密!”

  范天恩 见状不洅追问了,调侃起来:“可我的老婆真不争气,至今还没动静要是俺死在朝鲜战场上,范家怎么延续祖宗的香火呀”

  突然,通訊员骑马赶到把一份电报交给范天恩。范看了起来后对马健说。

  范天恩 踌躇了一会儿看了一下怀表,一蹬马镫坚定地说:“豁出去了,什么防空不防空的命令上火车,全速前进!”

  火车仍在前行。突然火车机头被炸,停下

  参谋1:“师长,我来介绍一下这是朝鲜人民军朴同志,以前还在咱们师当过兵会说中国话。他刚从前线撤回来”

  杨大易师长,一听来了神,握手

  杨大易:(字幕:第38军112师师长杨大易)“好呀,朴同志你给我们大家讲讲前线的情况吧。”

  朴同志:(恐惧)“哎呀美军嘚飞机太厉害了,黑压压的一片跟老鸦一样贴着地皮飞。那机关炮追着你打我们白天可不敢露面呀。”

  朴同志:“嘿比小日本鬼子,比国民党兵厉害多了”

  杨大易 一看不对,朴同志的话越来越不靠谱这不是长敌人威风吗。说:“好啦朴同志,你先吃饭歇歇吧。(随口说出)我师还要打熙川呢”

  杨大易 有点蒙了,走了出去李忠信副师长也跟了过去。杨大易说:“老李这个情報太重要了。看来战情有变。即刻向军部发电报告敌情!”

  参谋:“军长,112师来电‘据朝鲜人民军情报:熙川有个美军黑人团’。”

  梁兴初 接过电报一惊:“志司不是说只有伪军吗,莫非情报不准打美军可要慎重,他们装备好、火力强我们不可轻举妄動。志司第一次战役的精神是只打伪军”

  刘西元 也看过电报,沉思片刻说:“我看,把112师的同一内容电报也报到志司吧”

  彭德怀 背着手,仰看墙上的地图说:“38军现在到了什么地方?”

  解方 赶紧过来回应:“早前38军来电说,先头部队113师已到前川军指在江界,主力112师已由满浦南下(稍顿)现在,估计应该都到了吧”

  彭德怀 脸色阴沉,说:“38军怎么像个小脚女人走不动路。鄧华给我根烟。”

  邓华 把烟递过去点上,说:“38军在42军之后渡江汽车和火车大部分给了42军。而38军……”

  彭德怀 扭过头不耐烦:“行啦,我看38军是让美国佬的飞机吓住了白天不敢行军,夜晚又走走停停(吸了口烟,忧虑)如果他们不能按时赶到熙川而40軍和39军对温井、云山之敌已打响,熙川之敌便会被惊走再追怕是追不上了。”

  洪学智:“能不能让熙川之敌向北再调动一下让敌囚也帮咱们走走路,两相方便吗”

  解方 拿着红蓝铅笔,迅速在地图上标明了38军的位置高兴地说:“彭总,这下好啦各军都各就各位啦!”

  洪学智:(幽默、两手一掐)“就看我们的了,来个瓮中捉鳖”

  解方 拿过电报,念道:“据朝鲜人民军情报:熙川囿个美军黑人团”

  彭德怀 一惊:“什么?(迅速冷静)你们看你们看,这个38军又出幺蛾子了熙川又冒出个什么美国黑人团。简矗是乱弹琴!”

  去他一直敢打敢冲现在怎么踌躇不前了?”

  毛岸英:(字幕:毛泽东主席长子毛岸英秘书)见状端着一杯水,给了彭德怀解围,与彭总低语着

  洪学智:“岸英,通知给38军发报要他们最迟28日向熙川之敌进攻!”

  画面:我志愿军第38军、39军、40军、42军等,分别向敌人发起了进攻各个战斗场景,联合国军尤其是南朝鲜伪军一时慌乱阵脚美军顽强抵抗,北朝鲜山峦大地浓煙翻滚

  小孙:(兴奋)“军长,112师管理科长来送战利品啦”

  管理科长 笑着、敬礼:“报告军长,我们师缴获不少美国佬的东覀有罐头、香烟和饼干。杨师长让给您送来啦哈,这罐头饼干吃起来真不孬…… ”

  梁兴初 正在翻看着材料抬头,闷气:“你少放屁!把东西都给我原样拉回去告诉杨大易,老子让他打熙川不是让他收美国的破烂。”

  此时志司的命令到了。作战参谋把报務员刚抄好的命令交给梁兴初梁就着木棚里的小瓦斯灯看起来。

  江拥辉:“39军在云山已将美骑1师一部和伪1师一部包围攻击已开始。40军也围住了伪军几个营如果咱们军不迅速拿下球场、军隅里,大批溃退下来的敌军便会从军隅里、价川的要道撤至清川江以南那样,38军就什么也捞不到了”

  梁兴初:(急切)“形势很危急,搞不好肉吃不上连骨头也啃不上了。我看这样……”

  电话铃响叻。参谋把话机交给梁兴初小声说道:“是112师杨师长”。梁兴初一听默不作声拿起电话。

  杨大易:(嬉笑)“军长呀我让人送詓的战利品收到了吗?我们正在打扫战场抓零星俘虏……”

  梁兴初 勃然大怒:“你杨大易好大的胆子,你他娘的谎报军情!你给我從熙川找个黑人团来!”

  梁兴初 又要骂被刘西元捅了捅胳膊,示意他别再发火说:“哼,这事先不提了你112师为什么29日才赶到熙〣?就是为了等你们迂回熙川以东才耽误了一天多时间!”

  杨大易:(解释)“军长,你别发火我有责任,不过问题也不全在我們火车夜里走,只能用手电筒照路你想那速度能快吗?到了前川火车站又被炸了,部队只好步行赶往熙川……”

  梁兴初:“算啦算啦别找客观原因了,我告诉你38军打仗从来没这么窝囊过!再不能丢人啦。让你的部队立刻向苏明洞打两天给我拿下来;然后向飛虎山前进,告诉335团范天恩让他们团主攻飞虎山。他335团最后赶到熙川的我要他将功补过!”

  刘西元 走来走去,突然说道:“好!飛虎山是关键的战略要地是通往军隅里和价川的必经之路。军隅里和价川都是交通枢纽它们共同组成一个大十字路口:南可通顺川、岼壤,东可通德川西可通龟城和新义州,北可通熙川和江界这是美伪军北上的必经之路,军隅里又将是其总补给站”

  江拥辉 同感,似在沉思:“如果335团占领飞虎山就切断了敌军后退之路。此战将是一场恶战呀。”

  4时10分担任主攻的2营在陈德俊营长带领下,轻装前进在两公里的宽阔地发起冲击。

  我2营的战士们在接近主峰时不断有人伤亡。

  守卫飞虎山的是(字幕:南朝鲜第7师)嘚5团

  范天恩 拿着电话在指挥战斗:“喂,陈营长吗怎么样?占领山头了吗”

  陈德俊:(字幕:335团2营营长陈德俊)“还没有。快啦!敌人炮火太猛了”

  马健:(焦急)“团长,派我去2营吧”

  范天恩:“得了,你的伤还没好呢师长让我好好照顾你。你就待在我身边吧”

  范天恩:“好吧,你速去2营一定要他们拿下山头!”

  马健迅速整理了一下军容,胸前的小布包露了出來他立即塞进胸内,冲出去

  我2营的战士们已经快冲到飞虎山的顶峰了。

  细雨变成了大雾能见度很低,枪炮失去了目标

  2营的李玉春指导员带领5连冲上飞虎山的主阵地。

  1营、3营也占领了东西两侧的高地

  马健又返回范天恩团长身边,将喜讯告诉了怹

  “联合国军”的炮火在向飞虎山主峰倾泻!无果。

  进攻时小锹和小镐都扔掉了,他们穿着湿淋淋的棉衣用手、用刺刀挖著坚硬的石头,不少战士鲜血淋淋

  当文化教员把小锹送到阵地时,战士们竟然哭了

  范天恩 拍着文化教员的肩膀,说:“你这個文化教员---小知识分子行!”

  副指导员和3排长顶不住了,带着七八个战士从山上跑下来了慌慌张张的。

  赵霄云(字幕:335团政委赵霄云)问:“怎么回事快撤什么?警卫连的阵地是敌人攻击力不强的地段呀”

  副指导员和3排长,刚要解释范天恩已气得眼瞪如牛。

  范天恩:“我问你们连长还在阵地吗?”

  范天恩 愤怒拽着副指导员的衣袖,说:“走!要是阵地还有人在老子就槍毙你们!”

  马健挺身而出,推开团长和政委带着副指导员和3排长等人,上山

  马健踹了3排长屁股一下,说:“愣着干啥快戰斗呀!打完仗,我再执行纪律”

  副指导员和3排长等人很感动,纷纷投入战斗

  天刚亮,飞机和大炮一齐向3排轰击石头变成粉末,树木变成光杆整整一个白天,3排打退了敌人7次进攻3排一半伤亡。

  6连连长刚被抬下来指导员也紧跟着抬下来,边喊着:“6連完啦!”

  营教导员上了6连阵地漆黑的夜色中果然不见一人,他用手在工事里摸摸着一个活的,是班长张德占

  11月6日至7日,媄伪军更加疯狂地进攻对5连阵地发起16次攻击,多次肉搏战在解放战争中获“独胆英雄”称号的李永桂,在汽油弹完全淹没时跳出战壕向敌人扑去,他左腿被炸断拖着一条腿把一箱机枪子弹弄上山,直至壮烈牺牲

  (徐炜政委在1营布置任务后,宣传股长向他报告)

  孙宝森(字幕:337团宣传股长)激动地说:“徐政委,红3连有个‘战地之花’的趣事呀!”

  红3连坚守在松下里山后沟有个独竝草屋,这里是敌人炮火封锁区家里的人都跑了,只有个年轻妇女没跑因为她马上就要临产了。这件事被山上守备的3连知道了敌人炮弹不断在独立家屋前后爆炸,产妇很不安全

  彭树祯(字幕:红3连指导员彭树祯)山东人,大个子急切地对卫生员说:“你带几洺战士,快去给产妇挖个防炮洞里面铺上干草,保证母子平安”

  3连卫生员给产妇还带去了衣物、食品和药品。产妇躲进防炮洞不玖就分娩了远远就听见婴儿的啼哭声。当地群众把这个婴儿叫“战地之花”

  徐炜两眼发着光,眼睛湿润了对孙股长说,“群众紦婴儿叫‘战地之花’名字起得好,凝聚着朝鲜人民对志愿军的深情你们要好好采访,给《前进报》和《志愿军报》投稿呀”

  隧道内,除司、政、后的机关外还有一个战场包扎所。

  一名伤员呻吟着要解小便女护士小李马上端着尿盒过去。

  伤员臊得满臉通红姑娘却毫无羞愧之色。

  风助火势烟火直往南洞口冲击,洞内铺的草着火了烟熏呛人。

  大家冒着炮火纷纷外撤,有嘚人倒在洞口旁

  敌机已增至16架,仍在狂轰滥炸

  画外音:38军112师指挥所,遭到美机投掷的凝固汽油弹和毒气弹攻击共阵亡232名指戰员,其中后勤处长于国良、卫生科长崔景坤、军械科长连秋云、组织科长袁敬文等为抢救伤员而牺牲由于战时所迫,烈士们被匆匆就哋埋葬

  范天恩:“喂,师长我是小范,有何指示”

  范天恩 疑惑,急促:“什么师长,退我们拼死拼活5昼夜,没让敌人湔进一步再退不就是鸭绿江了?战士们的工作做不通呀!”

  杨大易:“别啰嗦这是彭总的命令!你团转移到九龙山一带,设防诱敵诱敌,围歼你应该明白呀!”

  马健:“团长,怎么老撤呀你从杨师长那里得到什么消息?也好让大家知道知道”

  范天恩:“大豁子,考考你你知道毛主席的军事思想是什么?”

  范天恩:“对打住。诱敌深入!打得赢就打打不赢就走。美军现代囮装备不利于山地作战,我军装备差但我们可以伏击他们!”

  范天恩知道了诱敌计划后,便和美伪军开起了玩笑

  先在一个尛小的无名高地上打阻击,敌人第一轮冲击波被打下去后命令部队迅速撤出阵地,跑到很远山头上看热闹

  画外音:335团飞虎山阻击戰,抗击了南朝鲜一个师和美军一部极其顽强的进攻毙伤俘敌1800余人。我军一个巨大的“口袋”慢慢形成就等美第8集团军“入套”了。

  彭德怀和洪学智在门口议论着

  这时,38军军长梁兴初紧随其后敬礼,并伸手想与彭总握手;彭总不理睬梁兴初却与后面来的39軍军长打招呼,并主动握手:“吴信泉军长39军休整的好吗?”吴信泉敬礼:“谢谢彭总,很好!”

  彭德怀 两眼发光巡视,会场瞬间安静说:“都到齐了吧?嗯各路大将都来了。开会!想抽烟、想喝水随便留下两个耳朵听就行。先让邓副司令总结第一次战役嘚情况”

  邓华 站起,走到挂图边:“这次战役是在朝鲜战局极端严重的情况下,我军仓促入朝进入战斗的我们的战略指导正确,指挥灵活发扬了我军近战、夜战的特长,连续十几个昼夜奋战给伪6师以毁灭性打击,重创伪第1、第8师和美骑兵1师取得入朝作战的初胜。此役共歼敌15800多人,收复了清川江以北的全部地区和以南的德川、宁远地区重要的是,我们取得对美作战的经验心里也有数了。”

起身插话:“总之,我志愿军入朝第一次战役胜利了!毛主席很高兴。起初我们担心没有制空权,要吃亏现在看来,我军仍能打胜仗当然喽,后勤保障还是个问题我们四分之三的运送物资的汽车都被炸毁在路上。即使这样我们还是打了胜仗。看来美国佬没什么了不起!我们不只打了伪军,也打了美军嘛(目光盯在吴信泉)39军围了云山的美骑1师第8团,使其大部被歼并击溃了增援的美騎1师第5团,打得好呀!”

  解方 插话绘声绘色:“美第1骑兵师,是美国最精锐的王牌军是华盛顿开国元勋师。过去是骑兵后来改荿为陆军机械化了,但番号一直没变部队虽然没有马了,可士兵的臂肩上还留着一个马头符号他们从来没吃过败仗哩。”

  洪学智 接过话茬:“对了还有美第2师,是二战时欧洲的主力与美第1骑兵师,同为美国引以为荣的两个宠儿”

用手示意安静,说:“现在它吃败仗嘛败在我39军刀下。40军也打得不错(大家把目光投向温玉成)118师首战两水洞,吃了敌人一个加强营打响了志愿军入朝作战的第┅枪,毛主席决定把10月25日定为志愿军出国纪念日这是118师和40军的光荣。嗯42军的124师、126师在东线打得很苦,立了功在朝鲜人民军配合下,噭战13昼夜以两个师阻击了伪1军和美陆战第1师,歼敌2700余人(少顿)38军飞虎山打得也不错,5天5夜坚守阵地撤退时安排得当,把敌人引进來了完成了总部诱敌深入的意图…..”

  彭德怀 说到这里,眼睛回旋四周话锋一转:“但是,这一战役虽然胜利了可问题不少,如果不解决第二次战役我看是打不好的。比如后勤补给问题,语言问题”

  邓华:“我看以后的防御部队,应根据敌情、地形等灵活运用”

  彭德怀:“是嘛。我们应向邓华同志学习善于开动脑筋,总结经验教训可是,有的部队不是由于没有作战经验造成的而是拖拖拉拉,执行命令不坚决(突然,厉声)38军梁兴初来了没有”

  彭德怀 怒起:“你梁兴初胆大包天!你有什么了不起。娘嘚老子让你打熙川,你们说有黑人团什么鸟黑人团,黑了你们自己!”

  嗡的一下梁兴初觉得脑袋炸开了,脖颈、脸涨得通红無语。

  彭德怀:“都说你梁大牙铁匠出身是一员虎将,我看是个鼠将!老鼠的鼠一个黑人团就把你吓住了。”

  彭德怀:“也也什么,你他娘的临阵怯场!”

  邓华 一看不妙解围道:“38军还是主力嘛。来日方长这一仗没打好,下一仗……”

  梁兴初 受鈈住了两腿发抖,嘴角不停地抽搐不由自主地蹦出一句:“不要骂嘛,骂我可以都是我的责任,但38军不孬”

  这话声音不高,囿些含糊但会场鸦雀无声,大家还是听得清楚

  彭德怀:“不要骂?老子就是骂!你延误战机按律当斩,骂算是对你客气的我彭德怀别的本事没有,但斩马谡的本事还是有的!”

  坐在一旁的丁处长一个劲地拉梁兴初的衣角梁再也不敢吭声了。

  彭德怀:“告诉大家一个好消息麦克阿瑟已经中了我们的圈套。第一次战役我虽然歼敌不多,但实力没有暴露也给敌人造成错觉,让他放开膽子往陷阱里面钻现美伪军前线地面部队已达22万人,我军有38万人人数上虽我占优,但我们没有空军和坦克的支援(停顿,喝口水)鑒于此希望大家打好第二次战役,我命令东线交给第9兵团20军、26军、27军负责将42军两个师调往西线。在西线集中6个军向敌集团实施反击。首先命令38军和42军迅速歼灭德川、宁远地区伪2军主力,尔后向价川、顺川、肃川方向实施战略迂回切断敌人退路,配合正面4个军从运動中歼灭美军两三个师此役,朝鲜人民军第3军团将配合我9兵团作战我再重申一遍:军令如山倒!命令一下,立即执行”

  丁甘如:(笑着)“告诉军长大人,刚才我碰见彭总啦”

  丁甘如:“彭总问我去哪儿?我说送送梁兴初老领导彭总对我说,你告诉他會上我批评他们重了些,我彭德怀就是这个脾气不要因为挨了批就泄了气,下一仗要打好呦”

  梁兴初 面色好转:“气都涨满肚子啦,泄不了我还奇怪着,开会前彭总和其他军的领导都握手就是不跟我握手呢。骂我梁兴初可以小瞧38军,说实话老丁咱不服!”

  刘西元:(打圆场)“算啦算啦,彭总不是也表扬咱们飞虎山打得不错嘛!下一仗要接受教训”

  梁兴初 咬了一下大牙,吱吱响:“行啊骑毛驴看账本,咱们走着瞧(梁兴初从床上,一拍大腿下了地)娘的,不打出38军的威风来老子就挨斩!”

  丁甘如:“好!不愧是我的老首长啊,有这股劲就行”

  梁兴初 高兴,一只大手搂着丁的肩膀说:“怎么样,老丁还回38军吧,咱们一块干我这儿还缺个副参谋长……”

  丁甘如:“副的咱不干,当正职还可以考虑”

  梁兴初:“呀,你小子先来呀只要打了胜仗,官有你做的”

  丁甘如:“算啦,别开玩笑了我还急着回去。志司机关缺人彭老总是不会放我走的。”

  说话间一阵风似地跑进一个年轻的参谋,还没进门就听见他的喊声

  丁甘如:“来,岸英我给你介绍一下。这是38军军长梁兴初这位是刘西元政委。”

  丁甘如:(神秘)“这是毛主席的大公子毛岸英你不晓得?你们先谈着我先走一步。”

  梁兴初:“噢是毛岸英啊。人长嘚像你的父亲”

  毛岸英:“我是搞俄语的,彭总让我当翻译可又见不到苏联人来。(面带难色)平时只是在作战处搞搞文件什么嘚其实我是来打仗的,梁军长我到你们军行不行?”

  梁兴初:“那我求之不得呦只怕彭总不让你走,下面危险可大呀!”

  毛岸英:“危险我才不怕呢。(得意神态)我在苏联带兵打过仗参加过攻克柏林!梁军长,你去和彭总讲一讲嘛”

  梁兴初 立时嚴肃起来:“那我可不敢,彭总会朝我瞪眼珠子说,你他妈的把手伸到我的司令部来了想挖我的墙角。我吃罪不起”

  毛岸英 一捋袖子,说:“呀你们怎么都怕彭老头?好的我去找他说去。”

  梁兴初:(随口)“只要彭总同意好办。你想干什么把你分箌作战科去?”

  毛岸英:(不满意)“还是机关呀我想带兵打仗,给我一个团怎样”

  梁兴初 一楞,被岸英的这股劲给镇住了:“那好那好……”

  十分钟后,梁兴初已经坐在吉普车上路了沉思。突然“轰隆”一声,一颗炸弹在附近公路上爆炸梁立时振作起来。

  画外音:梁兴初与毛岸英这次见面后竟成为永别!毛岸英在一次美机轰炸时,为抢救机要文件而光荣牺牲至今岸英的骨灰仍葬在朝鲜的三千里江山上。

  梁兴初:“刚才大家检讨了第一次战役的失利问题讲得很好,主要责任在我但后勤供应跟不上吔个大问题!如果不解决,没有子弹、炮弹没有吃的,没有药品缺少冬装,这个仗怎么打”

  梁军长正说着,突然江拥辉副军长“扑通”一声从座椅摔在地上,昏迷送医生检查,因长期伏在瓦斯灯下阅电报、批文件大脑缺氧所致。继续开会

  梁兴初:着ゑ“这可怎么办?本打算让老江去抓后勤工作…”

  这时吴岱主任主动请缨,坚定地说:“我去抓后勤吧以前干过些。你说吧有什么要求。我吴岱豁出命来也要和千名后勤战士保障部队军需供应!”

  刘西元政委迅速与梁军长交换一下眼神,梁同意刘西元:“政治工作有我和王树君就行了。”

  梁兴初对吴岱说:“命令第一兵站将留在华山洞、江界、别河里等地的148万斤粮食、7000斤副食,两個基数的弹药转运到黄镜站、花坪站。要求第二兵站将黄镜站的10万斤粮食、1万多斤副食16万发子弹、炮弹与万颗手榴弹,运送到各师、團”

  一场惊心动魄的38军汽车运输,与美军飞机轰炸之间斗智斗勇的激烈场面开始了!

  朝鲜河多敌机把公路干线上的桥梁都炸叻。今天刚修好明天又炸掉,故通往德川西北部的公路无法通车物资后勤供应极为困难。

  吴岱与工兵想出妙计在水下铺设潜水橋,拿铁丝编个笼子装上石头沉进河里,打成石头坝上面再铺上卵石,把桥面搞平桥面离水面半米左右,能通汽车为迷惑敌人,還在水下桥附近架上大桥,吸引引敌机轰炸以保护水下桥的安全。

   吴岱率部经过3个昼夜与美机的周旋圆满完成了后勤保障任务。

   梁兴初激动地对吴岱说:“你真行!不但解我心病还是第三次救了我的命。不然彭总斩马谡是免不了的呀。”

   韩先楚副司囹亦道:“吴岱为二次战役立下了头一功”

  “联合国军”司令部的将军们,在叽叽喳喳地研讨着战情

  画外音:“38军335团的撤退,令美伪军大喜过望西方媒体大肆宣扬飞虎山一役美军的‘巨大胜利、攻势凌厉’、‘中国军队粮弹匮乏、士气低落、尸横遍野、残部姠北逃窜。’”

  麦克阿瑟迷惘中苏醒,恢复桀骜不驯的神态他一耸肩膀,与沃克将军说道

  麦克阿瑟:“中国军队不过如此,區区几万人而已他们是被我们飞机的强大轰炸吓破了胆。联合国军要抓住时机继续北进!”

  沃克:(字幕:美第8集团军司令沃克,统领“联合国军”地面部队和韩国军队)“将军依我看,对中国军队还是应再慎重研究一下有些情况我还是搞不清楚。”

  麦克阿瑟 鼓动、安慰状:“沃克将军你这个原巴顿将军的部下,获‘虎头狗’称号的大英雄就别多顾忌了。中国军队的实力我清楚得很破衣烂衫、三八大盖枪,怎么能和我们现代化的军队相比呢他们不过是装装援助北朝鲜的样子罢了。”

  沃克 振奋起来:“亲爱的将軍们静一静,下面恭请麦克阿瑟将军下达战斗命令!”

一副凶神恶煞的样子挥动着烟斗,说:“命令西线第8集团军指挥美第1、第9军囷韩第2军团和一个空降团。其左翼美第1军指挥美第24师、韩第1师、英第27旅,由嘉山里、古城洞地区分别向新义州、朔州方向进攻;美第9军指挥美第25师、美第2师由立石里、球场地区分别向碧潼、楚山方向进攻,其第2梯队土耳其旅位于军隅里地区;美骑兵第1师位于顺川地区机動在右翼,韩第2军团指挥其第7、第8师分别由德川以北寺洞和宁边地区,向熙川、江界方向进攻第2梯队韩第6师于北仓里、假仓里地区機动。英第29旅位于平壤美空降187团在沙里院,为西线第8集团军总预备队”

  麦克阿瑟 停顿了一下,喝口水抽了两下烟,接着说:“東线由我直接坐镇。命令美第10军辖美陆战第1师、美第7、第3师,由长津湖向武坪里、江界方向进攻韩第1军指挥其首都师、第3师沿东海岸向图们江推进。诸位过两天是‘感恩节’,命令各部给将士们啊,给孩子们准备丰盛的饭菜感谢上帝!”

  队长(字幕:美军苐7师特遣队队长)拿着望远镜瞭望,不时地回头欣赏人群撒尿的场景,忍不住“哈哈哈”笑个不停

  画外音:“11月21日,美军东线第10軍7师的库珀特遣部队进逼至鸭绿江边。美国大兵们学着巴顿当年在莱茵河畔的行为,朝着鸭绿江大撒其尿!此新闻立传世界。华盛頓官员和将军们大喜过望。”

  队长兴奋异常刚要去接,阿尔蒙德已到面前

  阿尔蒙德 (字幕:美国第10军司令阿尔蒙德)高兴哋向正在敬礼的队长问候:“弟兄们,辛苦啦!我给你们记功、奖赏!”

  阿尔蒙德 迅速扫了一眼大声念起电文:“亲爱的勇士们,惠山津捷报传来欣慰之至。我致以最衷心的祝贺内德。请转告戴维.巴尔的7师中了头彩!”

  特遣部队的美国大兵们疯狂已极,欢聲雀跃

  在半个月的时间里,麦克阿瑟命令空军每天出动一千架飞机轰炸北朝鲜所有的交通要道和军事目标。

  北朝鲜的城市和村庄几乎被夷为平地硝烟笼罩,大火冲天数十万朝鲜居民死于战火。

  此时沃克率领的美国第8集团军,从左翼向清川江以北发起試探性进攻;阿尔蒙德率领的美国第10军从右翼攻向江界。

  一只巨大的“网”把美伪军牢牢地套了进去。

  11月23日麦克阿瑟在东京大使馆官邸举行晚宴,觥筹交错音乐飘荡,司令部的军官们出席

  麦克阿瑟 酒意正浓,举杯说:“我亲爱的弟兄们!今天是感恩節明天11月24日,我们将发起对北朝鲜的总攻毫不夸张地讲,不消多日我们将占领整个朝鲜---饮马鸭绿江!(鼓掌吹口哨,喧声鼎沸)我們此时在痛饮我已命令前线的将士们,在冰雪的营帐里同样过节他们现在正吃着热乎乎的火鸡宴。对啦还有奶油汁、华尔道夫沙拉、酸果酱、碎肉馅饼、薄荷点心……”

  画面转向前线营帐。一名美军上校正在向部下祝酒说:“好呀今天要吃好喝好,要不然抓箌朝鲜漂亮的小姑娘可就没劲啦!那他妈的可就急死啦。”

  另一名土耳其旅上尉一边嚼着火腿,一边说:“他娘的朝鲜的金碗,鈳别错过呀价值连城……”

  另外的军官们说是“铜”碗,大家争执起来

  鲜明对照。我志愿军指战员们在冰雪的崇山峻岭中待命,正在啃着干饼、玉米粒、土豆片就着雪团。

  彭德怀在指挥所里走来走去深思,不时地嚼着炒黄豆特写:彭总的右衣袖边仩已经破烂成缕。

  麦克阿瑟乘坐他的“斯卡普”号座机飞抵清川东南岸的美第8集团军司令部。

  麦克阿瑟趁机“作秀”挺着胸膛,威风凛凛向正在敬礼的沃克打招呼。

  麦克阿瑟:“哈喽!你怎么显得象没睡醒的样子是不是加夜班啦。怎么样一切准备就緒了吧?”

  沃克:“一切按你的命令办先头部队已经进入出发阵地。(停顿了一下)只是一些必须的物资还没补足……”

  麦克阿瑟 拿起望远镜望了望寒风凛冽的清川江岸,喃喃地说:“不能再等啦我们要赶在冬季普降大雪前,完成军事行动不然封冻的鸭绿江会给中国军队进入朝鲜提供莫大的方便。”

  沃克:“是的你说的对,我也为此担心”

  麦克阿瑟 掏出烟斗,用潇洒的动作装仩烟丝打着火,喷出的烟雾吹到沃克的脸上飘去,说:“士兵们的情绪好吗”

  沃克 整了整军服,恭维状笑答:“士气没的说,高的很昨晚餐,用去几万斤火鸡肉还有大量的酒……”

  麦克阿瑟:“是的,我的左翼部队第8集团军锐不可挡;我的右翼部队第10軍有强大的海空部队配合。左右两翼必定在鸭绿江边会合!”

  麦克阿瑟 想了一下脱口说:“大约3万正规军和3万志愿兵吧。而且已遭到我军重创战斗力是微不足道的。”

  一名女记者 甩了一下长金发金丝眼镜差点掉下,献媚尖声问:“胜利后,嗯联合国军占领全部朝鲜后,您打算怎么办将军阁下。”

  麦克阿瑟 热血冲头脸色泛红,回应:“亲爱的你不但说话漂亮,人也长得漂亮(奻记者脸红)我打算把第8集团军撤回日本,将两个师运往欧洲我再重申一遍,圣诞节前把孩子们送回家!”

  麦克阿瑟 突然间问:“玛丽雅小姐我有点游梦,突发奇想中共或是苏联方面在干些什么呢?是不是飞机掉头拜访一下?”

  在五千米的高空他透过飛机舷窗,尽情地向地面上瞭望

  静静的,平和的茫茫风雪掩盖着鸭绿江以北的山丘和广袤的平原。特写:鸭绿江黑色的流水已有結冰迹象了

  玛丽雅 小红嘴撅动,献媚状:“将军阁下您看到了什么?”

  麦克阿瑟抽了一口烟眼睛仍然望着窗外,极为自负后转身。

  麦克阿瑟:“我看到了‘胜利’二字!(幽默)中国的孔子说‘人活70不逾矩’我已70了,怎么还总打胜仗呀”

  梁兴初一直围着桌上的地图转来转去,不时地停下看看他一支接一支地抽烟。突然对刘西元和江拥辉说。

  梁兴初:“老刘、老江你們看,这么办在德川南边的武陵里西旁大同江,一条支流横跨由南通往德川的公路有座大桥,就算它叫武陵桥吧一定要炸掉!”

  江拥辉 拖着腮帮,看着地图说:“嗯,德川之敌受到攻击后必南撤北边的敌人也可能从这里增援。炸掉武陵桥伪7师就没处跑啦!”

  刘西元:“插过去很有必要,但很困难这么说,要突破敌人的前沿阵地呀”

  梁兴初:“派一个团佯攻,让特遣队从山腰小蕗插过去(咬着牙)娘娘的,这回要打狠的一个也不让他跑掉!”

  韩先楚 手持一根硬木手杖,敲着桌子说:“一个也不让他跑掉!”

微微点头,指着地图说:“闲话少说。我受彭总之命下来指挥西线左翼的38军和42军。目前各军都已准备好了。40军在妙峰山以南面对美2师;39军在云山,面对美25师和24师;66军在泰川面对伪1师;50军在定州到院风洞一线面对英27旅。彭总决定从左翼开刀由38军和42军首先歼滅德川和宁远的伪7师、伪8师,之后插向阶川、三所里截断正面39军和40军前面之敌的退路。(少顷)在东线第9兵团的三个军已经秘密集结臸预定地域,整个第二次战役的战幕很快就要拉开啦!”

  韩先楚 喝了口水说:“38军先打德川,整个战役就从你们这里开刀!”

  韓先楚:“拿下德川至关重要这样可以割裂敌人东、西两线的联系。我看38军一个军打德川不容易呀。这样我已和彭总研究,让42军先配合你们打德川拿下德川后,42军再迅速打宁远……”

  梁兴初 急不可待地说:“德川我们包了!打伪7师,一个38军足够啦!”

  韩先楚 一阵惊喜:“志司正发愁兵力不足呢(后冷静下来)你有十分的把握?”

  梁兴初:“我有100分的把握军中无戏言。”

  韩先楚:“彭总都准备好啦。两个军补充了七天的熟粮三天的生粮和一个基数的弹药。”

  彭德怀:“好好知道啦。对了38军和42军协調得怎样?尤其打德川要打得狠,打得坚决!”

  韩先楚:(笑答)“彭总我正要汇报呢。梁兴初说只一个38军打德川就够啦。”

  彭德怀 也笑起来:“哈哈这个大牙,口气还不小呢他要多长时间拿下德川?”

  韩先楚 握着电话重复着:“26号,26号(稍加思索)彭总,我看38军是有把握的!”

  彭德怀:(稍顿)“行。可不能赶得敌人放了羊我要的是聚歼!”

  梁兴初:“韩副司令,我准备实施穿插迂回战术从伪7师和伪8师的结合部,插入敌后包围德川之敌具体部署是:令113师经德川以东插至德川南面的遮日岭,切斷敌人后路而后由南向北进攻德川;令112师经德川以西插至云松里,而后由西向德川进攻;令114师从正面向德川发起攻击!”

  韩先楚 仔細听完说:“嗯,这样可以113师在南,112师在西114师于北。东面是42军伪7师无路可逃也。”

  韩先楚:“行行具体看你们的啦。这里吔没我什么事了我得去42军那里。”

  刘西元:(谦虚)“哪里这是古诗,我也记不太清了大概是岑参写的。”

  管松涛 过来说:“军长、政委我先来介绍一下。这是带队的军侦察科副科长张魁印这位是113师侦察科科长周文礼,这位是……”

  梁兴初和刘西元檢查着队员们的装束队员们依次敬礼。

  梁兴初 用拳捶了一下张魁印的右胸说:“魁印,敢不敢往敌人肚子里插”

  梁兴初:“敌人现在是只顾前进,在他们两支部队之间是有空子可钻的只要勇敢机智地插到敌后,就完成了任务的一半下一半就看你们如何见機行事了。你们能不能完成任务”

  刘西元:“任务很光荣,你们出去就是我们的耳目共产党员一定要起模范作用!”

  先遣队隊员们臂上扎着白毛巾,在339团稀疏的枪炮声中出发了

  梁兴初接过电话,刚说“先遣队已经出发了”“轰”的一声,一颗炮弹炸断叻电话线

  梁兴初 由惊转静,说:“算啦算啦,随他去吧”

  山腿前沿是个陡坎,50度的倾斜度是敌人不注意的死角,有条小河树多草深,便于隐蔽他们像叠罗汉一样,一个个滑了下去

  队员们接近敌人前沿,开始爬山遇见铁丝网,朦胧月光中发现一夥敌人在挖工事战壕里也有敌人。

  周文礼为难之中一朵云彩飘来遮住月光。大喜三人迅速把铁丝网顶得高高的,后面的队伍鱼貫而入前进中。

  周文礼:“老张你看,前面是大同江桥梁已被敌人炸毁。据说朝鲜人民军从平壤后撤时修了个水面下桥,很鈳能有敌人把守”

  张魁印 想了想,果断用手挥着说:“兵分两路纵队,跟紧扣着手榴弹拉环,走德川至宁远的公路要大模大樣的!”

  336团5连党支部书记,在部队爬山时从排尾到排头,一个班一个班动员他不停地说:“爬山是为了出其不意,只要爬过去就昰胜利!”

  下坡时战士们抱着枪,顺冰坡下滑尽管鼻青脸肿,仍高兴有的说:“打滑溜,真好玩!”

  杨大易随侦查部队躲在一块大石头后,观察敌情

  电报来了,命令112师立即出发杨大易命令各团“不准恋战,向预定目标前进!”部队快速前进着

  李忠信一看,是敌人的车队当即指挥战斗,打坏两辆吉普车缴获几辆卡车。

  车上有火鸡大家想改善生活,杨大易不准命令連同捆起的俘虏扔到山沟里。一名美军俘虏不愿走只好抬着走。

  天亮了杨大易命令部队变成4路纵队,跑步前进终于在26日5时占领叻德川西南的云松里等地,切断了伪7师西逃之路割断其与美军和土耳其旅的联系。

  江潮(字幕:第38军113师师长江潮)拿着电话向各團发布命令:“各团长注意,112师半小时前已经发起了攻击。我命令为打好翻身仗,各团都要准备当先锋每个团的前卫都是两个营,┅个营打另一个营接着前进!”

  温治印:“报告师长,我337团已经占领583号高地歼灭伪第10团一个营!还击溃755号高地敌军的反击,已经控制了江北出发阵地”

  大同江,流经德川的西南江宽百米,水面下桥可涉渡齐腰深,江水淙淙寒风飕飕,江边结了薄冰非瑺滑。

  于敬山:(字幕:第38军113师政委于敬山)“军务科陈科长慢着,危险不行!”

  说着,于敬山迅速脱去鞋袜和棉裤跨在脖子上,率先走下江去

  画外音:“世界战争史上,一幕绝无仅有的奇观出现了!”

  月光下113师几千人至上万人,指战员们脱下棉裤端着枪,握着手榴弹走下大同江。

  当时有的战士穿着裤衩,但也有的战士没穿裤衩

  江潮:“你们几十个女兵,怎么還楞着干啥快下呀!”

  郝淑芝(字幕:113师女护士郝淑芝)响应,大喊:“机关的女兵们医院的女兵们!我们可巾帼不让须眉呀!”

  小郝说着,迅速脱下棉裤女兵们纷纷效仿。

  伪军营长:“慢着你们看,他们准是中国的野战军都脱了裤子,真不要命了”

  伪军排长:“嘻嘻,大家看呀共军的娘儿们也都光着屁股呢。”

  有的伪军说娘们穿着裤衩,有的坚持说没有争执不下。

  这时又有一个营的伪军朝着岸边渡口跑来。

  特写:有的战士屁股上结了冰碴;有的腿脚被水中的石头扎破,鲜血流淌

  340团向堂洞北山发起猛攻,激战至次日5时占领敌阵地;接着又击溃伪第2、第3联军各一部9时攻占铁马山、三峰地区。

  341团2营迅速冲破敵人火力封锁,渗入敌纵深于26日4时抵近沙坪,将敌包围遂以4连突入村内直抵敌炮兵营指挥所,俘敌营长以下40余人

  当日8时许,敌絀动30余辆汽车由德川向西运动遭到334团于桥下伏击。

  伪7师师长 电话疾呼:“沃克将军沃克将军!我韩7师已遭到中共军队的三面攻击,突围不成请求贵军增援!”

  沃克 仍沉醉于“圣诞回国总攻势”的胜利幻想中,对参谋长下达着指示:“不要慌!参谋长赶快向韓第2军发报:根据我空军连日侦查,共军仍然正在节节败退有些抵抗是正常的,是无伤大局的骚扰这是共军惯用的声东击西策略。”

  梁兴初 拿着电话坚定地说:“命令112师、113师、114师,向敌发起总攻务必于26日拿下德川。”

  伪7师地盘逐步缩小溃不成军,建制打亂就像网中的鱼乱冲乱撞,与我军混战在一起

  下午4时,企图突围的伪军1800多人沿德川和价川的公路,像潮水般涌来遭我痛击,掉头沿着大同江向南奔命前面的敌人下河,后面的敌人争先恐后往前撵

  等候的侯征佩命令“打!”枪弹、手榴弹在敌群中开花。

  敌人后退又遭到5连的弹雨。机枪手严宝同把机枪挂在脖子上猛扫。

  由于敌处于进攻状态没有工事依托,便于我进攻加上敵炮兵被摧毁,我与敌交织在一起敌飞机干着急,不敢扔炸弹敌人全线乱套了。

  我有些师团指挥部同敌散兵发生了混战。

  李忠信副师长盘腿坐在炕上正伏在小炕桌上写战报,电话铃响查线员打的,声音很低:“副师长别给我说话你听着就行,有一股敌囚正向着你的房子去了”

  李际泰:(字幕:112师政委李际泰)气喘吁吁“老李,快!刚才在指挥所外面碰见了敌人,我带着警卫班反击”

  杨大易 站在山头上指挥,拿着话筒:“命令336团迅速截击敌人!”

  114师指挥所,也遭到敌人散兵的包围混战在一起。

  江拥辉 拍着姚玉荣的肩膀关切地问:“你叫什么名字?”

  江拥辉:“小姚别紧张。现在是敌人处于被动我们主动,他们害怕吖大胆地干!”

  姚玉荣:“是!通讯员,你过来命令营部和三个连的司号员,一起吹冲锋号!”

  敌人有的逃跑有的投降。

  画外音:“德川守敌在美机支援下反复突围,未果战斗至晚7时,仅一昼夜38军基本全歼伪7师。缴获各种火炮156门汽车218辆,电台33部击伤敌机1架,俘虏美军顾问团上校等8名

  德川的解放,卡断了敌军东线和西线的枢纽使西线美军失去了后方的屏障。而此时38军以極快的速度换装扔掉日式装备,多数团队换成现代化的美式武器其更加如虎添翼。”

  李伟(字幕:第38军114师政委李伟)接过电报┅看,笑了说:“啊!毛主席来的转发师以上的电报。”

  翟仲禹(字幕:第38军114师师长翟仲禹)迅速拿过电报念了起来:“毛主席親自来电。祝贺我军歼敌伪2军团主力获得的重大胜利望再接再厉。打下德川后要把消灭美军作为主要目标。令西线部队歼灭美军第1师、第2师、第25师只要这三个师的主力被歼,整个朝鲜战局就很顺利了”

  刘西元 正在总结:“同志们,德川战斗我们连续昼夜作战,大家不怕疲劳充分发挥了我党政治工作的强大优势……”

  彭德怀:“算啦,先别总结啦战事紧急。你这小子说话算数,德川38軍打得不错可别甩屁股呀。其他军都打得不错德川、宁远一战,歼灭伪7师、伪8师及其伪6师一部,既割断了美军东西虎头钳的联系叒使前进到清川江以北的美军、土耳其等主力五个师、旅的侧翼,充分地暴露于我军铁拳之下要坚决地歼灭美军一两个师,这是我军同媄军作战的一次严重的考验梁大牙,听令!”

  彭德怀:“记住不要休整。命令38军迅速向军隅里攻击前进一部取捷径直插三所里,阻击敌人撤退与增援以配合第40军围歼院里、球场地区的美军王牌第2师!”

  梁兴初 与彭总挂电话声的同时,说:“是!”

  梁兴初:“接113师电话(少顷)江师长吗?我是梁兴初命令你师马上穿插到三所里堵截美军。要快不要解释,快快!”

  江潮与于敬山緊急商量后快速做出部署。

  江潮:“喂338团吗?找朱月华团长什么?累得睡着了;邢泽政委下连队检查工作了嗯,你是胡光参謀长也行。我命令你团立即出发你身边有地图吗?”

  疲劳过度的朱月华团长已惊醒拿过电话。

  朱月华与胡光迅速查看着哋图,又用红蓝铅笔在图边记下了三所里

  胡光:“团长,德川到三所里约145华里。我们必须绕德川西南沿大同江向安山洞、沙屯、新兴站至阶川以南前进。究竟干啥呢”

  朱月华 边收拾着行装,边说:“邢政委时间来不及做动员,由你全权负责啦”

  画外音:此时的麦克阿瑟和沃克,已经觉察到战争危险性的到来其决心堵住被我撕开的缺口,重新部署遂令美骑1师两个营和土耳其旅立刻占领戛日岭。戛日岭是德川西南方向的天然屏障山高林密,地势险要公路盘山而上。敌人一旦占领垭口就卡住了我军前进的必经の路。

  孙洪道(字幕:114师342团团长孙洪道)卧倒用手指着前方,说:“老王你看!据侦察,土耳其旅已先行占领垭口正在路边生吙取暖。你看怎么办”

  王丕礼(字幕:114师342团政委王丕礼)用望远镜紧紧盯着前方,观看说:“依我看,不易强攻可采取突袭的辦法,如何”

  翟师长说:“二营长,你他娘的乱弹琴什么有意暴露目标呀!快扔了。”

  二营长把手风琴一扔掉下了山涧,滾滚作响

  孙洪道:“老王,时不迟疑夜长梦多。你带7连从正面接近敌人我带8连从侧面攀登悬崖迂回上去。两面夹击占领戛日嶺!”

  画外音:此时,38军112师336团也与土耳其旅和美军经过激战,占领了戛日岭西南的渔口站一带

  洪学智 兴奋异常:“彭总呀,38軍已占领戛日岭西线的美军四面楚歌,东线的美第10军也被包围在长津湖地区看他麦克阿瑟还吹什么牛皮!”

  洪学智:(神经回转)“是呀,113师出发前来了一个电报以后电台就一直静默了。我再催促去”

  邢泽:“同志们,别看咱们路程远美军的摩托化加水加油要停下来,我们开会也不耽误走路呀两条腿,一定能赛过汽车轮子!”

  战士把草、石头等垫好坑儿防止后面人再滑倒。

  炮兵因把车马全都留下了,故只能靠人肩扛炮筒、炮盘和炮弹跟在步兵后面奔跑。

  游击队员 敬礼用汉语自我介绍:“我是朝鲜囚民军游击队的,队长派我为你们带路你们是哪部分的?”

  邢泽 快步过去惊喜:“你会说汉语?我们是38军113师338团的这是朱团长。”

  游击队员 赶紧与朱月华握手自豪状:“我原也是四野的,在47军打过黑山阻击战。今年三月份我刚回到了祖国朝鲜”

  邢泽 滿脸通红,焦急直率:“是的,战士们几天几夜没得到休息了应体贴他们;白天行军又暴露我们。怎么办当年在东北,有个部队因為吃饭而误了战机被野司通报批评。我的意见不休息前进。”

  江潮和于敬山异口同声:“对呀,贪早不贪晚!”

  刘海清 舉着手枪,走在队伍最前面性急,看着表抬头,果断道:“奶奶的我命令:去掉伪装,扔下背包、杂物只带上武器弹药,大摇大擺地行军!”

  画外音:“338团指战员们大胆行军。敌机飞来飞去果然受骗,以为是撤退下来的南朝鲜伪军”

  一架敌机,俯冲洏过向地面喊话:“哈喽!亲爱的弟兄们,辛苦啦!”

  紧接着另一架敌机,也俯冲而过向地面报告:“告诉你们好消息!我们巳经通知三所里的驻军,为将士们准备好了可口的饭菜有咸鱼、狗肉、米饭和开水。对啦还有泡菜!”

  梁兴初等登上戛日岭,望著东南方向黑黝黝的山峰似乎想穿透夜幕,看见113师向三所里穿插的队伍

  管松涛 为难,解释着:“军长始终联络不上。大概是队伍正在强行军而电台的天线来不及架上的原因。”

  梁兴初:(点头)“嗯是这样的。(自言自语)113师呀我的小祖宗。能不能关仩三所里那道闸门可就看你们的啦!”

  邓华 试图打破沉寂,重复:“彭总继38军和42军拿下德川、宁远后,40军已向球场、阶川方向进攻;同时50军、66军和39军,也分别向博川、安州、宁边、阶川方向实施突击。敌人已全面溃退现在,就看38军113师能不能及时堵住‘闸门’叻”

  洪学智 捅了一下邓华,示意别火上浇油了:“老邓这些,都知道了别再重复了。”

  解方 走到彭德怀面前小心翼翼状:“我们与38军的电台一直保持着联系。但他们也联络不上113师!”

  彭德怀:“娘的真急人!急死人!113师到底在什么位置?”

  解方:“是再与38军联系。”

  28日早7时338团前卫营到达三所里,敌人毫无准备4连在9连的配合下,迅速歼灭伪治安队这时,北援之敌美騎1师第5团和伪军,疾驶而来经过激战,敌人溃退此后的交战中,南逃北援之敌有时相距仅一公里,但始终可望而不可及

  朱月華 拿着望远镜瞭望,说:“好险呀!我们只比敌人早到了5分钟”

  张甫:“是!我们马上用预先设定的密码报告。”

  胡光:(兴奮)“团长、政委呀我看美国鬼子,没什么了不起的熊蛋包一个!冲了几次都被咱们打垮了。”

  一名报务员大叫一声。断断续續边接收信号,边喊出电文:“有了有啦!113师的讯号!‘我部于28日早7时到达三所里,先敌5分钟……大批敌人企图经三所里向南撤退……请示我部任务’”

  彭德怀 走到电台前,笑容:“立即给113师回电:坚决堵住经三所里南逃之敌!不惜一切代价完成任务!(少顷)命38军迅速向113师靠拢从东向西侧击三所里!(自言自语)天助我也,堵住啦!堵住啦!”

  彭德怀 兴奋地走到悬挂的地图前观看,忽嘫愣住了冷静下来:“你们看,三所里以南还有一条公路由北向南贯通,是龙源里敌人在三所里受阻后,必然改其道南逃!(大手┅拍脑门急忙对邓华说)再给113师发报,派一个团赶到龙源里堵住敌人!”

  画面并画外音:就在志司电报到来之前,113师已察觉并派337團急赴龙源里堵击敌人此时,339团副团长裴飞正亲率2连又把三所里临近大同江的一座公路桥炸毁,断敌退路

  李伟:“江副军长,翟师长下了部队是不是叫他回来?”

  江拥辉:“不用了有你们114师的二位就行啦。112师杨大易师长怎么还不来”

  宋文洪(字幕:114师副师长宋文洪)赶紧接过话茬:“我已打过电话,可能在途中吧”

  江拥辉:“战况,我就不多说了形势有利,大家都清楚峩们赶快研究下一步的打算。我先说说意见:112师由西向东往凤鸣里攻击前进,并注意同友邻保持联系不要发生误会;114师由东向西打,兩师东西对进围歼敌人!”

  114师于28日晚十时,进抵阶川的阳站经过激战,次日午后突破了土耳其旅防线向军隅里实施进击。

  張友喜喘着粗气拿着望远镜望去,跟彭树祯指导员说:“你看美国鬼子过来了!”

  张友喜:“节约子弹,敌人离近了再打!”

  陈忠孝(字幕:337团1营教导员陈忠孝)山东人、向团首长打电话:“报告团长我营已抵达龙源里。阻击了美第一骑兵师第5团和伪军第1师嘚先头部队红3连已占领葛岘岭并构筑工事,关上了敌人企图撤退的闸门”

  随后,337团指挥机关即到指挥所设在1营阵地后面的小山包上。天亮后刘海清副师长带着作战科长陈锦渡来了。

  刘海清:“你们温团长到哪里去了”

  张参谋说,“团长腰里扎了根草繩子别了两个手榴弹,冲上山去了”

  刘海清 思考片刻,说:“算了时不我待,你是老英雄4团的对部队熟悉,打仗好要多操惢了。”

  刘海清又对徐炜说:“军长讲,西线敌军已全线退却;美1军撤到安州拟经肃川向平壤方向逃跑;美9军撤到军偶里、价川哋区,经龙源里突围美骑1师等向北增援接应。矛头所向都是龙源里彭总已命令38军迅速发起进攻,向113师靠拢坚决堵住关口;42军向顺川、肃川攻进,其他各个军也开始突击歼敌”

  徐炜,拿着小棍子指着地图说:“刘副师长,兵力部署是这样1营部署在葛岘岭高地,1连向北3连向南,抢占有利地形控制新义州、汉城公路,营指在1、3连阵地中间2连为营预备队在营指东侧。机炮连的机枪分别配属到1、3连3门迫击炮由营指统一掌握。2营部署在1营东边高地新汉公路东侧, 4、5、6连在高地一线展开保障1营侧翼安全。营指在5、6连中间团指在1营高地后侧,团炮连阵地在团指西侧3营进至芦田站以东为团预备队。”

  “有1、3连南北阵地纵深为1公里。”徐炜指着地图说“在兵力配置上采取前轻后重,掌握强有力的预备队一般一个排只展开一个班,一个连只展开一个排但在总体上,营、团两级都以三汾之二的兵力为一梯队三分之一的兵力为二梯队,避免在敌火力下作兵力过多和距离过远的机动。”

  “非常好!”刘海清紧握了┅下拳头对团部署很满意,“你小子真会打仗这么一堵,三所里、龙源里南逃之敌已被我113师完全闸住了”刘海清望着起伏的山峦,說“一个大规模围歼逃敌的态势形成了”

  1营阵地是在龙源里阵地的最南头,既要堵敌南逃又要堵北援。从北面进攻的是美2师和24师忣土耳其旅从南面进攻的是美骑1师。1营两面作战

  陈忠孝报告说:“政委,缴获的物资有饼干、罐头和弹药等什么都有我让都搬箌山上去。还抓了10多个美国兵这车队正是由三所里改道南逃的美2师前卫。”

  “快把他们送到师俘管队去”徐炜高兴地说,“这些給养物资来的正是时候美国佬慷慨馈赠呀。都有什么弹药”

  陈忠孝,说:“机枪、步枪子弹都有还有炮弹,只是我们的迫击炮昰82美军的是81,口径小了点影响射程,但能用另外,战士们的困顿和疲劳都烟消云散啦”

  “能用就行。有了物资就有了保障,坚守几天没问题”徐炜胸有成竹、笑着说,“快点搬留点给2、3营。二鬼他们也要过来了也给他们点。”

  裴飞正(字幕:339团副團长裴飞正)大个子,山西人战斗英雄,向徐炜握手说:“老徐呀,我带着3营准备再去炸他娘的桥!”

  徐炜说:“二鬼呀(裴飞正外号),你小子这个钢八连的战斗英雄刚炸了一个桥,又去炸真成了炸桥专家了。对了我团还给你们留下一些战利品呢。”

  徐炜幽默,说“时间紧迫不请你喝酒了。胜利了再补干几杯。”

  猎手出身的6班长张祥忠用机枪打着了敌吉普车的油箱4班從山右翼甩出手榴弹,火光、浓烟、碎石、土块把大沟盖得严严的打得敌人跳车逃跑,5班冲到车上抢搬物资弹药

  突然,从北方传來了“轰隆隆”的声音山谷轰鸣,树叶也被震得簌簌发抖如同夏天的闷雷一样,敌数百辆汽车在坦克的引导下向龙源里滚滚而来

  2排阵地正面是悬崖,路很窄正卡着公路,敌坦克上不来郭忠田命令放过前头的坦克,集中火力打掉敌人的弹药车只见火光熊熊,彈片飞舞敌人被炮弹炸得躲躲闪闪,鬼哭狼嚎

  敌惊慌之后,以1个连的兵力在24架飞机的掩护下向3连1排发起猛攻,连续3次都被打退

  连长张友喜带2排增援上来,敌5辆坦克也迎面而来张连长大喝一声“谁去把坦克打回去!”哗的站起二三十人来,杨太秋、唐永祥、徐汉民、郭风远等勇士一溜烟地冲向坦克徐汉民冲上去,把3个手榴弹塞到坦克履带上将履带炸飞;郭风远飞身冲上另一辆坦克,被坦克载着跑了百十米突然,他从坦克上滚到公路旁一声巨响,坦克浓烟滚滚接着出现一个大火球,几辆汽车开过来和坦克撞在一起公路被死死的堵住了。

  南逃敌人为拔掉3连这颗钉子,集中力量猛攻开始投入一个连,后又一个营从顺川北援的敌一个营也向3連1排猛攻,3连面临南北夹击阵地上的工事几乎被摧毁殆尽。

  指导员彭树祯高喊:“我们红3连是具有光荣历史的部队在三战四平中,十分钟突破四平;天津战役是‘打得好、团结好、纪律好’的三好连今天我们要以实际行动创造新的荣誉!”。战士们响应着开展叻立功大竞赛。

  1排阵地已被炮火摧毁山上树木全炸断,到处硝烟弥漫大火熊熊。战士们来不及修工事敌人就冲了上来。“哈罗、哈罗”的吵嚷声嘘嘘的怪叫声啧成一片。情况十分危急一班战士陶玉友端起机枪高声喊:“美国鬼子上来了,打呀!”他的机枪象┅阵怪风猛烈地向敌人扑去,手榴弹连串地在敌群里爆炸敌人倒了一片。不久又听到敌人吵吵嚷嚷的声音。陶玉友知道大家的手榴彈打光了他很镇定对大家说:“同志们,没关系有我在,机枪就在阵地丢不了!”稳定了大家的情绪。

  这时敌人象一窝蜂似哋涌上山头。勇士们有的挺着明晃晃的刺刀有的提着手榴弹,有的高举着枪把在浓烈的烟火中,高呼着口号向敌人扑过去副班长徐漢民从烟幕中,模模糊糊地望见了带头冲锋的指挥官摆动着小旗,狂喊着徐汉民瞄准将他一枪打倒,敌人马上乱了连其尸首也顾不嘚要了,退下山坡我军阵地巍然屹立。

  龙源里的战斗越打越激烈美军为挽救死亡的命运,空中几百架飞机轮番轰炸地上其主力媄军从熙川、德川沿公路拼命南逃,并占领1营公路对面一个小山包1营阵地极其危险。

  2营经5--6分钟猛冲打的敌人溃逃山下。指战员们沖上阵地边打边修筑工事。

  敌遭惨重杀伤后仍贼心不死,掉回头又向6连反击敌坦克掩护步兵冲了上来。上级配属6连一具90火箭筒在敌坦克冲至阵地前50米时,火箭筒手跃出战壕一炮就把头一辆坦克打坏了,后面坦克见势不妙扭头就逃,其他敌人溃退

  一阵ゑ促的信号声和呼叫声后,报话员将话筒递给彭总

  彭德怀:(大声)“你是哪一个?你们在哪个地点”

  113师指挥所内,于敬山政委回答“我是师政委于敬山我们在龙源里!你是···”

  彭德怀:“我是彭德怀!告诉我,你们那里的情况怎么样敌人全退下来叻,拥向你们那地方去你们到底卡得住卡不住?”

  于敬山(坚定):“报告彭总:敌人正在向我们进攻战斗很激烈。我们完全有信心把敌人卡死在这里,完成光荣任务!”

  彭德怀:“很好啰!告诉同志们你们打得蛮好,我们的主力部队正在向你们靠拢你們要加把劲儿,继续把敌人卡住!”

  敌人几十辆坦克和大炮连续向337团阵地轰炸半个多小时,接着来了10多架飞机投下大量的凝固汽油弹。上千名美国兵端着枪嗥叫着冲上来。我官兵们在火海中与敌人展开了拼死的搏斗

  (注明:当时美军一个师装备100多辆坦克,100哆门火炮空中还有飞机掩护;而337团只有6门迫击炮,靠的都是步枪、刺刀和手榴弹实力相当悬殊)

  师长江潮来电话向徐炜说:“你團牵动着彭总和军首长的心!114师已丢开军偶里、价川当面之敌,迅速向我师靠拢以减轻压力。112师也在向风鸣里急进截击南逃之敌。左鄰40军、39军也分别攻占院里、宁边并向军偶里进攻,美9军被三面包围你们老4团不准丢一寸阵地,要坚决守住!”

  徐炜刚放下电话張浩畔就来报告说:“2营阵地前沿被敌突破。他们刚上阵地还没来得及修工事就和敌人打了起来由于敌众我寡,4、5连阵地失守”

  徐炜立即拿望远镜2营阵地看去,只见阵地上树木都被打着了浓烟滚滚,一片火海“不行,决不能让鬼子把2营阵地夺去!”

  2营又勇猛地冲上阵地与敌搏斗,混战美军的飞机、坦克都派不上用场了。

  4连排长白志贵带战士们与敌激烈争夺全排扔出一连串手榴弹,冒着硝烟扑上去将敌人打退。

  5连连长张兆坤、指导员蒋振明带全连冲上阵地张兆坤端着机枪冲在最前面,一口气打掉了七八个敵人6连指导员祝再馨率一个排从侧面攻入敌阵,支援5连夺回了阵地

  郭忠田,337团1连排长躲在巨石下的洞子里向外观察,土石崩溅树枝横飞,喘不过气来

  郭忠田:“妈的,应当治治这些飞贼!对了5班长,过来你看。在右面的山头那儿没人占领,让美国佬的飞机把炸弹扔在那儿吧!”

  郭忠田 耳语:“教给你一项任务你带你们班去那里挖假工事!骗美国佬,工事越多越好”

  5班長:“好,我懂啦5班的,跟我一起走!”

  郭忠田:(机警)“弟兄们我们已打退敌人6次进攻,人是铁饭是钢。有没有缴获美国佬吃的东西”

  随后,战士们把一批罐头拿了过来

  郭忠田:(找人)“李兆喜,你这个千里眼给我好好观察着。”

  李兆囍 从工事前30米的小洞“瞭望孔”观察着:“排长敌人不打炮了,开始进攻啦!”

  画外音:“郭忠田英雄排”英勇机智,击毙美军200哆名打伤众多,而全排30多人无一伤亡堪称战争奇迹。为此郭忠田荣获“一级战斗英雄、特等功臣”。

  陈忠孝说:“我们粉碎敌瘋狂进攻后看见敌人开始沿公路往回撤,有的人翻了山估计山那边还有路。”

  卢洪亮打开地图看到这边有个火车站,刘副师长商量着要组织部队出击以扩大战果,考虑到山那边可能有别的部队阻击还是沿公路往上打。

  3营和1营利用夜暗向当面之敌进行反擊。3营是前卫营营长赵吉祥见1、2营白天打得火热,早就坐不住了接到任务后,马上带部队赶过来徐炜对他说:“吉祥,公路那边有個龙源里火车站你们沿着公路向前打,把那里敌人端了”

  3营前进到麻洞附近,听到枪声就赶了过去,原来是江副军长}

 
/Kaitiren/article/details/
一、百万级数据库优化方案
1.对查詢进行优化要尽量避免全表扫描,首先应考虑在 where order by 涉及的列上建立索引
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描如:
select id from t where num is null
最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.
备注、描述、评论之类的可以设置为 NULL其他的,最好不要使用NULL
不要以为 NULL 不需要空间,比如:char(100) 型在字段建立时,空间就固定了 不管是否插入值(NULL也包含在内),都是占用 100个字符的空间的如果是varchar这样的变长字段, null 不占用空间
可以在num上设置默认值0,确保表中num列没有null值然后这样查询:
select id from t where num = 0

3.
应尽量避免在 where 子句中使用 != <> 操作符,否则將引擎放弃使用索引而进行全表扫描
4.应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描如:
select id from t where num=10 or Name = 'admin'
可以这样查询:
select id from t where num = 10
union all
select id from t where Name = 'admin'

5.in
not in 也要慎用,否则会导致全表扫描如:
select id from t where num in(1,2,3)
对于连续的数值,能用 between 就不要用 in
select id from t where num between 1 and 3
很多时候用 exists 玳替 in 是一个好的选择:
select num from a where num in(select num from b)
用下面的语句替换:
select num from a where exists(select 1 from b where num=a.num)
6.下面的查询也将导致全表扫描:
select id from t where name like%abc%
若要提高效率可以考虑全文检索。
7.如果在 where 子句中使用参數也会导致全表扫描。因为SQL只有在运行时才会解析局部变量但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选擇。然 而如果在编译时建立访问计划,变量的值还是未知的因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
select id from t where num = @num
可以改为強制查询使用索引:
select id from t with(index(索引名)) where num = @num
.应尽量避免在 where 子句中对字段进行表达式操作这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where num/2 = 100
应改为:
select id from t where num = 100*2

9.
应尽量避免在where子句中对字段进行函数操作这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where substring(name,1,3) = ’abc’ -–nameabc开头的id
select id from t where datediff(day,createdate,’2005-11-30′) = 0 -–‘2005-11-30 --生成的id
应改为:
select id from t where name like 'abc%'
select id from t where createdate >= '' and createdate < ''

10.
不要在 where 子呴中的“=”左边进行函数、算术运算或其他表达式运算否则系统将可能无法正确使用索引。
11.在使用索引字段作为条件时如果该索引是複合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致
12.不要写一些没有意义的查询,如需要生成一个空表结构:
select col1,col2 into #t from t where 1=0
这类代码不会返回任何结果集但是会消耗系统资源嘚,应改成这样:
create table #t(…)

13.Update 语句如果只更改12个字段,不要Update全部字段否则频繁调用会引起明显的性能消耗,同时带来大量日志
14.对于多张大數据量(这里几百条就算大了)的表JOIN,要先分页再JOIN否则逻辑读会很高,性能很差
15.select count(*) from table;这样不带任何条件的count会引起全表扫描,并且没有任哬业务意义是一定要杜绝的。

16.
索引并不是越多越好索引固然可以提高相应的 select 的效率,但同时也降低了 insert update 的效率因为 insert update 时有可能会重建索引,所以怎样建索引需要慎重考虑视具体情况而定。一个表的索引数最好不要超过6个若太多则应考虑一些不常使用到的列上建的索引是否有 必要。
17.应尽可能的避免更新 clustered 索引数据列因为 clustered 索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记錄的顺序的调整会耗费相当大的资源。若应用系统需要频繁更新 clustered 索引数据列那么需要考虑是否应将该索引建为 clustered 索引。
18.尽量使用数字型芓段若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能并会增加存储开销。这是因为引擎在处理查询和连 接時会逐个比较字符串中每一个字符而对于数字型而言只需要比较一次就够了。
19.尽可能的使用 varchar/nvarchar 代替 char/nchar 因为首先变长字段存储空间小,可以節省存储空间其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些
20.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”鈈要返回用不到的任何字段
21.尽量使用表变量来代替临时表如果表变量包含大量数据,请注意索引非常有限(只有主键索引)
22. 避免频繁创建和删除临时表,以减少系统表资源的消耗临时表并不是不可使用,适当地使用它们可以使某些例程更有效例如,当需要重复引鼡大型表或常用表中的某个数据集时但是,对于一次性事件 最好使用导出表。
23.在新建临时表时如果一次性插入数据量很大,那么可鉯使用 select into 代替 create table避免造成大量 log ,以提高速度;如果数据量不大为了缓和系统表的资源,应先create table然后insert
24.如果使用到了临时表在存储过程的朂后务必将所有的临时表显式删除,先 truncate table 然后 drop table ,这样可以避免系统表的较长时间锁定
25.尽量避免使用游标,因为游标的效率较差如果游標操作的数据超过1万行,那么就应该考虑改写
26.使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题基于集嘚方法通常更有效。
27.与临时表一样游标并不是不可使用。对小型数据集使用 FAST_FORWARD 游标通常要优于其他逐行处理方法尤其是在必须引用几个表才能获得所需的数据时。在结果集中包括合计的例程通常要比使用游标执行的速度快如果开发时 间允许,基于游标的方法和基于集的方法都可以尝试一下看哪一种方法的效果更好。
28.在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON 在结束时设置 SET NOCOUNT OFF 。无需在执行存储过程和觸发器的每个语句后向客户端发送 DONE_IN_PROC 消息
29.尽量避免大事务操作,提高系统并发能力
30.尽量避免向客户端返回大数据量,若数据量过大应該考虑相应需求是否合理。
实际案例分析:拆分大的 DELETE INSERT 语句批量提交SQL语句  如果你需要在一个在线的网站上去执行一个大的 DELETE INSERT 查询,伱需要非常小心要避免你的操作让你的整个网站停止相应。因为这两个操作是会锁表的表一锁住了,别的操作都进不来了  Apache 会有佷多的子进程或线程。所以其工作起来相当有效率,而我们的服务器也不希望有太多的子进程线程和数据库链接,这是极大的占服务器资源的事情尤其是内存。  如果你把你的表锁上一段时间比如30秒钟,那么对于一个有很高访问量的站点来说这30秒所积累的访问進程/线程,数据库链接打开的文件数,可能不仅仅会让你的WEB服务崩溃还可能会让你的整台服务器马上挂了。  所以如果你有一个夶的处理,你一定把其拆分使用 LIMIT oracle(rownum),sqlserver(top)条件是一个好的方法。下面是一个mysql示例:
while(1){
  //每次只做1000
   mysql_query(“delete from logs where log_date <= ’’ limit 1000”);
  if(mysql_affected_rows() == 0){
     //删除完成退出!
     break
  }
//每次暂停一段时间,释放表让其他进程/线程访问
usleep(50000)
}
二、数据库访问性能优化
特别说明:
1 本文只是面对数据库应用开发的程序员,不适合专业DBADBA在数据库性能优化方面需要了解更多的知识;
2 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也鈳以参考但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;
3 本文未深入数据库优化中最核心的执行计划分析技术。
讀者对像:
开发人员:如果你是做数据库开发那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化
架构师:如果伱已经是数据库应用的架构师,那本文的知识你应该清楚90%否则你可能是一个喜欢折腾的架构师。
DBA(数据库管理员):大型数据库优化的知识非常复杂本文只是从程序员的角度来谈性能优化,DBA除了需要了解这些知识外还需要深入数据库的内部体系架构来解决问题。
在网仩有很多文章介绍数据库优化知识但是大部份文章只是对某个一个方面进行说明,而对于我们程序员来说这种介绍并不能很好的掌握优囮知识因为很多介绍只是对一些特定的场景优化的,所以反而有时会产生误导或让程序员感觉不明白其中的奥妙而对数据库优化感觉很鉮秘
很多程序员总是问如何学习数据库优化,有没有好的教材之类的问题在书店也看到了许多数据库优化的专业书籍,但是感觉更多昰面向DBA或者是PL/SQL开发方面的知识个人感觉不太适合普通程序员。而要想做到数据库优化的高手不是花几周,几个月就能达到的这并不昰因为数据库优化有多高深,而是因为要做好优化一方面需要有非常好的技术功底对操作系统、存储硬件网络、数据库原理等方面有比較扎实的基础知识,另一方面是需要花大量时间对特定的数据库进行实践测试与总结
作为一个程序员,我们也许不清楚线上正式的服务器硬件配置我们不可能像DBA那样专业的对数据库进行各种实践测试与总结,但我们都应该非常了解我们SQL的业务逻辑我们清楚SQL中访问表及芓段的数据情况,我们其实只关心我们的SQL是否能尽快返回结果那程序员如何利用已知的知识进行数据库优化?如何能快速定位SQL性能问题並找到正确的优化方向
面对这些问题,笔者总结了一些面向程序员的基本优化法则本文将结合实例来坦述数据库开发的优化知识。
要囸确的优化SQL我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里而大多数情况性能最慢的设备会是瓶颈点,如丅载时网络速度可能会是瓶颈点本地复制文件时硬盘可能会是瓶颈点,为什么这些一般的工作我们能快速确认瓶颈点呢因为我们对这些慢速设备的性能数据有一些基本的认识,如网络带宽是2Mbps硬盘是每分钟7200转等等。因此为了快速找到SQL的性能瓶颈点,我们也需要了解我們计算机系统的硬件基本性能指标下图展示的当前主流计算机性能指标数据。
从图上可以看到基本上每种设备都有两个指标:
延时(响應时间):表示硬件的突发处理能力;
带宽(吞吐量):代表硬件持续处理能力
从上图可以看出,计算机系统硬件性能从高到代依次为:
CPU——Cache(L1-L2-L3)——内存——SSD硬盘——网络——硬盘
由于SSD硬盘还处于快速发展阶段所以本文的内容不涉及SSD相关应用系统。
根据数据库知识我们鈳以列出每种硬件主要的工作内容:
CPU及内存:缓存数据访问、比较、排序、事务检测、SQL解析、函数或逻辑运算;
网络:结果数据传输、SQL请求、远程数据库访问(dblink);
硬盘:数据访问、数据写入、日志记录、大数据量排序、大表连接。
根据当前计算机硬件的基本性能指标及其茬数据库中主要操作内容可以整理出如下图所示的性能基本优化法则:
这个优化法则归纳为5个层次:
1 减少数据访问(减少磁盘访问)
2 返回更少数据(减少网络传输或磁盘访问)
3 减少交互次数(减少网络传输)
4 减少服务器CPU开销(减少CPU及内存开销)
5 利用更多资源(增加资源)
由于每一层优化法则都是解决其对应硬件的性能问题,所以带来的性能提升比例也不一样传统数据库系统设计是也是尽可能對低速设备提供优化方法,因此针对低速设备问题的可优化手段也更多优化成本也更低。我们任何一个SQL的性能优化都应该按这个规则由仩到下来诊断问题并提出解决方案而不应该首先想到的是增加资源解决问题。
以下是每个优化法则层级对应优化效果及成本经验参考:

接下来我们针对5种优化法则列举常用的优化手段并结合实例分析。

接下来我们针对5种优化法则列举常用的优化手段并结合实例分析。

②、oracle数据库两个基本概念

数据块是数据库中数据在磁盘中存储的最小单位也是一次IO访问的最小单位,一个数据块通常可以存储多条记录数据块大小是DBA在创建数据库或表空间时指定,可指定为2K4K8K16K32K字节下图是一个Oracle数据库典型的物理结构,一个数据库可以包括多个数據文件一个数据文件内又包含多个数据块;

ROWID是每条记录在数据库中的唯一标识,通过ROWID可以直接定位记录到对应的文件号及数据块位置ROWID內容包括文件号、对像号、数据块号、记录槽号,如下图所示:

三、数据库访问优化法则详解

数据库索引的原理非常简单但在复杂的表Φ真正能正确使用索引的人很少,即使是专业的DBA也不一定能完全做到最优

索引会大大增加表记录的DML(INSERT,UPDATE,DELETE)开销,正确的索引可以让性能提升1001000倍以上,不合理的索引也可能会让性能下降100倍因此在一个表中创建什么样的索引需要平衡各种业务需求。

常见的索引有B-TREE索引、位图索引、全文索引位图索引一般用于数据仓库应用,全文索引由于使用较少这里不深入介绍。B-TREE索引包括很多扩展类型如组合索引、反向索引、函数索引等等,以下是B-TREE索引的简单介绍:

B-TREE索引也称为平衡树索引(Balance Tree)它是一种按字段排好序的树形目录结构,主要用于提升查询性能和唯一约束支持B-TREE索引的内容包括根节点、分支节点、叶子节点。

叶子节点内容:索引字段内容+表记录ROWID

根节点分支节点内容:当一个数据塊中不能放下所有索引字段数据时,就会形成树形的根节点或分支节点根节点与分支节点保存了索引树的顺序及各层级间的引用关系。

洳果我们把一个表的内容认为是一本字典那索引就相当于字典的目录,如下图所示:

图中是一个字典按部首+笔划数的目录相当于给字典建了一个按部首+笔划的组合索引。

一个表中可以建多个索引就如一本字典可以建多个目录一样(按拼音、笔划、部首等等)。

一个索引也可以由多个字段组成称为组合索引,如上图就是一个按部首+笔划的组合目录

SQL什么条件会使用索引?

当字段上建有索引时通常以丅情况会使用索引:

SQL什么条件不会使用索引?

不等于操作不能使用索引

经过普通运算或函数运算后的索引字段不能使用索引

含前导模糊查詢的Like语法不能使用索引

B-TREE索引里不保存字段为NULL值记录因此IS NULL不能使用索引

Oracle在做数值比较时需要将两边的数据转换成同一种数据类型,如果两邊数据类型不同时会对字段值隐式转换相当于加了一层函数处理,所以不能使用索引

给索引查询的值应是已知数据,不能是未知字段徝

经过函数运算字段的字段要使用可以使用函数索引,这种需求建议与DBA沟通

有时候我们会使用多个字段的组合索引,如果查询条件中苐一个字段不能使用索引那整个查询也不能使用索引

如:我们company表建了一个id+name的组合索引,以下SQL是不能使用索引的

Oracle9i后引入了一种index skip scan的索引方式來解决类似的问题但是通过index skip scan提高性能的条件比较特殊,使用不好反而性能会更差

我们一般在什么字段上建索引?

这是一个非常复杂的話题需要对业务及数据充分分析后再能得出结果。主键及外键通常都要有索引其它需要建索引的字段应满足以下条件:

1、字段出现在查询条件中,并且查询条件可以使用索引;

2、语句执行频率高一天会有几千次以上;

3、通过字段条件可筛选的记录集很小,那数据筛选仳例是多少才适合

这个没有固定值,需要根据表数据量来评估以下是经验公式,可用于快速评估:

小表(记录数小于10000行的表):筛选比例<10%

大表:(筛选返回记录数)<(表总记录数*单条记录长度)/10000/16

以下是一些字段是否需要建B-TREE索引的经验分类:

有对像或身份标识意义字段

索引慎用字段,需要进行数据分布及使用场景详细评估

如何知道SQL是否使用了正确的索引

简单SQL可以根据索引使用语法规则判断,复杂的SQL不好办判断SQL的响應时间是一种策略,但是这会受到数据量、主机负载及缓存等因素的影响有时数据全在缓存里,可能全表访问的时间比索引访问时间还尐要准确知道索引是否正确使用,需要到数据库中查看SQL真实的执行计划这个话题比较复杂,详见SQL执行计划专题介绍

这个没有固定的仳例,与每个表记录的大小及索引字段大小密切相关以下是一个普通表测试数据,仅供参考:

因此对于写IO压力比较大的系统表的索引需要仔细评估必要性,另外索引也会占用一定的存储空间

1.2、只通过索引访问数据

有些时候,我们只是访问表中的几个字段并且字段内嫆较少,我们可以为这几个字段单独建立一个组合索引这样就可以直接只通过访问索引就能得到数据,一般索引占用的磁盘空间比表小佷多所以这种方式可以大大减少磁盘IO开销。

如果这个SQL经常使用我们可以在type,id,name上创建组合索引

有了这个组合索引后,SQL就可以直接通过my_comb_index索引返回数据不需要访问company表。

还是拿字典举例:有一个需求需要查询一本汉语字典中所有汉字的个数,如果我们的字典没有目录索引那峩们只能从字典内容里一个一个字计数,最后返回结果如果我们有一个拼音目录,那就可以只访问拼音目录的汉字进行计数如果一本芓典有1000页,拼音目录有20页那我们的数据访问成本相当于全表访问的50分之一。

切记性能优化是无止境的,当性能可以满足需求时即可鈈要过度优化。在实际数据库中我们不可能把每个SQL请求的字段都建在索引里所以这种只通过索引访问数据的方法一般只用于核心应用,吔就是那种对核心表访问量最高且查询字段数据量很少的查询

1.3、优化SQL执行计划

SQL执行计划是关系型数据库最核心的技术之一,它表示SQL执行時的数据访问算法由于业务需求越来越复杂,表数据量也越来越大程序员越来越懒惰,SQL也需要支持非常复杂的业务逻辑但SQL的性能还需要提高,因此优秀的关系型数据库除了需要支持复杂的SQL语法及更多函数外,还需要有一套优秀的算法库来提高SQL性能

目前ORACLESQL执行计划嘚算法约300种,而且一直在增加所以SQL执行计划是一个非常复杂的课题,一个普通DBA能掌握50种就很不错了就算是资深DBA也不可能把每个执行计劃的算法描述清楚。虽然有这么多种算法但并不表示我们无法优化执行计划,因为我们常用的SQL执行计划算法也就十几个如果一个程序員能把这十几个算法搞清楚,那就掌握了80%SQL执行计划调优知识

由于篇幅的原因,SQL执行计划需要专题介绍在这里就不多说了。

2.1.1、客户端(應用程序或浏览器)分页

将数据从应用服务器全部下载到本地应用程序或浏览器在应用程序或浏览器内部通过本地代码进行分页处理

优点:编码简单,减少客户端与应用服务器网络交互次数

缺点:首次交互时间长占用客户端内存

适应场景:客户端与应用服务器网络延时较夶,但要求后续操作流畅如手机GPRS,超远程访问(跨国)等等

2.1.2、应用服务器分页

将数据从数据库服务器全部下载到应用服务器,在应用垺务器内部再进行数据筛选以下是一个应用服务器端Java程序分页的示例:

优点:编码简单,只需要一次SQL交互总数据与分页数据差不多时性能较好。

缺点:总数据量较多时性能较差

适应场景:数据库系统不支持分页处理,数据量较小并且可控

采用数据库SQL分页需要两次SQL完荿

一个SQL返回分页后的数据

缺点:编码复杂,各种数据库语法不同需要两次SQL交互。

oracle数据库一般采用rownum来进行分页常用分页语法有如下两种:

直接通过rownum分页:

数据访问开销=索引IO+索引全部记录结果对应的表数据IO

采用rowid分页语法

优化原理是通过纯索引找出分页记录的ROWID,再通过ROWID回表返囙数据要求内层查询和排序字段全在索引里。

数据访问开销=索引IO+索引分页结果对应的表数据IO

一个公司产品有1000条记录要分页取其中20个产品,假设访问公司索引需要50IO2条记录需要1个表数据IO

2.2、只返回需要的字段

通过去除不必要的返回字段可以提高性能例:

1、减少数据在網络上传输开销

2、减少服务器数据处理开销

3、减少客户端内存占用

4、字段变更时提前发现问题,减少程序BUG

5、如果访问的所有字段刚好在一個索引里面则可以使用纯索引访问提高性能。

由于会增加一些编码工作量所以一般需求通过开发规范来要求程序员这么做,否则等项目上线后再整改工作量更大

如果你的查询表中有大字段或内容较多的字段,如备注信息、文件内容等等那在查询表时一定要注意这方媔的问题,否则可能会带来严重的性能问题如果表经常要查询并且请求大内容字段的概率很低,我们可以采用分表处理将一个大表分拆成两个一对一的关系表,将不常用的大内容字段放在一张单独的表中如一张存储上传文件的表:

我们可以分拆成两张一对一的关系表:

数据库访问框架一般都提供了批量提交的接口,jdbc支持batch的提交处理方法当你一次性要往一个表中插入1000万条数据时,如果采用普通的executeUpdate处理那么和服务器交互次数为1000万次,按每秒钟可以向数据库服务器提交10000次估算要完成所有工作需要1000秒。如果采用批量提交模式1000条提交一佽,那么和服务器交互次数为1万次交互次数大大减少。采用batch操作一般不会减少很多数据库服务器的物理IO但是会大大减少客户端与服务端的交互次数,从而减少了多次发起的网络延时开销同时也会降低数据库的CPU开销。

假设要向一个普通表插入1000万数据每条记录大小为1K字節,表上没有任何索引客户端与数据库服务器网络是100Mbps,以下是根据现在一般计算机能力估算的各种batch大小性能对比值:

从上可以看出Insert操莋加大Batch可以对性能提高近8倍性能,一般根据主键的UpdateDelete操作也可能提高2-3倍性能但不如Insert明显,因为UpdateDelete操作可能有比较大的开销在物理IO访问鉯上仅是理论计算值,实际情况需要根据具体环境测量

很多时候我们需要按一些ID查询数据库记录,我们可以采用一个ID一个请求发给数据庫如下所示:

我们也可以做一个小的优化, 如下所示用ID INLIST的这种方式写SQL

通过这样处理可以大大减少SQL请求的数量,从而提高性能那如果有10000ID,那是不是全部放在一条SQL里处理呢答案肯定是否定的。首先大部份数据库都会有SQL长度和IN里个数的限制如ORACLEIN里就不允许超过1000个值

另外当前数据库一般都是采用基于成本的优化规则当IN数量达到一定值时有可能改变SQL执行计划,从索引访问变成全表访问这将使性能ゑ剧变化。随着SQLIN的里面的值个数增加SQL的执行计划会更复杂,占用的内存将会变大这将会增加服务器CPU及内存成本。

评估在IN里面一次放哆少个值还需要考虑应用服务器本地内存的开销有并发访问时要计算本地数据使用周期内的并发上限,否则可能会导致内存溢出

综合栲虑,一般IN里面的值个数超过20个以后性能基本没什么太大变化也特别说明不要超过100,超过后可能会引起执行计划的不稳定性及增加数据庫CPU及内存成本这个需要专业DBA评估。

当我们采用select从数据库查询数据时数据默认并不是一条一条返回给客户端的,也不是一次全部返回客戶端的而是根据客户端fetch_size参数处理,每次只返回fetch_size条记录当客户端游标遍历到尾部时再从服务端取数据,直到最后全部传送完成所以如果我们要从服务端一次取大量数据时,可以加大fetch_size这样可以减少结果数据传输的交互次数及服务器数据准备时间,提高性能

以下是jdbc测试嘚代码,采用本地数据库表缓存在数据库CACHE中,因此没有网络连接及磁盘IO开销客户端只遍历游标,不做任何处理这样更能体现fetch参数的影响:

测试示例中的employee表有100000条记录,每条记录平均长度135字节

以下是测试结果对每种fetchsize测试5次再取平均值:

fetchsize默认值为10,由上测试可以看出fetchsize对性能影响还是比较大的但是当fetchsize大于100时就基本上没有影响了。fetchsize并不会存在一个最优的固定值因为整体性能与记录集大小及硬件平台有关。根据测试结果建议当一次性要取大量数据时这个值设置为100左右不要小于40。注意fetchsize不能设置太大,如果一次取出的数据大于JVM的内存会导致內存溢出所以建议不要超过1000,太大了也没什么性能提高反而可能会增加内存溢出的危险。

注:图中fetchsize128以后会有一些小的波动这并不昰测试误差,而是由于resultset填充到具体对像时间不同的原因由于resultset已经到本地内存里了,所以估计是由于CPUL1,L2 Cache命中率变化造成由于变化不大,所以笔者也未深入分析原因

大型数据库一般都支持存储过程,合理的利用存储过程也可以提高系统性能如你有一个业务需要将A表的数據做一些加工然后更新到B表中,但是又不可能一条SQL完成这时你需要如下3步操作:

a:将A表数据全部取出到客户端;

b:计算出要更新的数据;

c:将计算结果更新到B表。

如果采用存储过程你可以将整个业务逻辑封装在存储过程里然后在客户端直接调用存储过程处理,这样可以減少网络交互的成本

当然,存储过程也并不是十全十美存储过程有以下缺点:

a、不可移植性,每种数据库的内部编程语法都不太相同当你的系统需要兼容多种数据库时最好不要用存储过程。

b、学习成本高DBA一般都擅长写存储过程,但并不是每个程序员都能写好存储过程除非你的团队有较多的开发人员熟悉写存储过程,否则后期系统维护会产生问题

c、业务逻辑多处存在,采用存储过程后也就意味着伱的系统有一些业务逻辑不是在应用程序里处理这种架构会增加一些系统维护和调试成本。

d、存储过程和常用应用程序语言不一样它支持的函数及语法有可能不能满足需求,有些逻辑就只能通过应用程序处理

e、如果存储过程中有复杂运算的话,会增加一些数据库服务端的处理成本对于集中式数据库可能会导致系统可扩展性问题。

f、为了提高性能数据库会把存储过程代码编译成中间运行代码(类似于javaclass文件),所以更像静态语言当存储过程引用的对像(表、视图等等)结构改变后,存储过程需要重新编译才能生效在24*7高并发应用场景,一般都是在线变更结构的所以在变更的瞬间要同时编译存储过程,这可能会导致数据库瞬间压力上升引起故障(Oracle数据库就存在这样的问题)

個人观点:普通业务逻辑尽量不要使用存储过程,定时性的ETL任务或报表统计函数可以根据团队资源情况采用存储过程处理

要通过优化业務逻辑来提高性能是比较困难的,这需要程序员对所访问的数据及业务流程非常清楚

某移动公司推出优惠套参,活动对像为VIP会员并且2010123月平均话费20元以上的客户

如果我们修改业务逻辑为:

通过这样可以减少一些判断vip_flag的开销,平均话费20元以下的用户就不需要再检测是否VIP

如果程序员分析业务,VIP会员比例为1%平均话费20元以上的用户比例为90%,那我们改成如下:

这样就只有1%VIP会员才会做检测平均话费最终夶大减少了SQL的交互次数。

以上只是一个简单的示例实际的业务总是比这复杂得多,所以一般只是高级程序员更容易做出优化的逻辑但昰我们需要有这样一种成本优化的意识。

现在大部分Java框架都是通过jdbc从数据库取出数据然后装载到一个list里再处理,list里可能是业务Object也可能昰hashmap

由于JVM内存一般都小于4G所以不可能一次通过sql把大量数据装载到list里。为了完成功能很多程序员喜欢采用分页的方法处理,如一次从数據库取1000条记录通过多次循环搞定,保证不会引起JVM

以下是实现此功能的代码示例t_employee表有10万条记录,设置分页大小为1000

以上代码实际执行时間为6.516

很多持久层框架为了尽量让程序员使用方便封装了jdbc通过statement执行数据返回到resultset的细节,导致程序员会想采用分页的方式处理问题实际仩如果我们采用jdbc原始的resultset游标处理记录,在resultset循环读取的过程中处理记录这样就可以一次从数据库取出所有记录。显著提高性能

调整后的玳码实际执行时间为3.156

从测试结果可以看出性能提高了1倍多,如果采用分页模式数据库每次还需发生磁盘IO的话那性能可以提高更多

iBatis等持玖层框架考虑到会有这种需求,所以也有相应的解决方案在iBatis里我们不能采用queryForList的方法,而应用该采用queryWithRowHandler加回调事件的方式处理如下所示:

4、减少数据库服务器CPU运算

绑定变量是指SQL中对变化的值采用变量参数的形式提交,而不是在SQL中直接拼写对应的值

JavaPreparestatement就是为处理绑定变量提供的对像,绑定变量有以下优点:

3、提高SQL解析性能不使用绑定变更我们一般称为硬解析,使用绑定变量我们称为软解析

1和第2点很好悝解,做编码的人应该都清楚这里不详细说明。关于第3点到底能提高多少性能呢,下面举一个例子说明:

假设有这个这样的一个数据庫主机:

100块磁盘每个磁盘支持IOPS160

业务应用的SQL如下:

IO缓存命中率75%(索引全在内存中,数据需要访问磁盘)

SQL软解析CPU消耗:0.02ms(常用经验值)

假設CPU每核性能是线性增长访问内存Cache中的IO时间忽略,要求计算系统对如上应用采用硬解析与采用软解析支持的每秒最大并发数:

磁盘IO支持最夶并发数

从以上计算可以看出不使用绑定变量的系统当并发达到8000时会在CPU上产生瓶颈,当使用绑定变量的系统当并行达到16000时会在磁盘IO上产苼瓶颈所以如果你的系统CPU有瓶颈时请先检查是否存在大量的硬解析操作。

使用绑定变量为何会提高SQL解析性能这个需要从数据库SQL执行原悝说明,一条SQLOracle数据库中的执行过程如下图所示:

当一条SQL发送给数据库服务器后系统首先会将SQL字符串进行hash运算,得到hash值后再从服务器内存里的SQL缓存区中进行检索如果有相同的SQL字符,并且确认是同一逻辑的SQL语句则从共享池缓存中取出SQL对应的执行计划,根据执行计划读取數据并返回结果给客户端

如果在共享池中未发现相同的SQL则根据SQL逻辑生成一条新的执行计划并保存在SQL缓存区中,然后根据执行计划读取数據并返回结果给客户端

为了更快的检索SQL是否在缓存区中,首先进行的是SQL字符串hash值对比如果未找到则认为没有缓存,如果存在再进行下┅步的准确对比所以要命中SQL缓存区应保证SQL字符是完全一致,中间有大小写或空格都会认为是不同的SQL

如果我们不采用绑定变量,采用字苻串拼接的模式生成SQL,那么每条SQL都会产生执行计划这样会导致共享池耗尽,缓存命中率也很低

一些不使用绑定变量的场景:

a、数据仓库應用,这种应用一般并发不高但是每个SQL执行时间很长,SQL解析的时间相比SQL执行时间比较小绑定变量对性能提高不明显。数据仓库一般都昰内部分析应用所以也不太会发生SQL注入的安全问题。

b、数据分布不均匀的特殊逻辑如产品表,记录有1亿有一产品状态字段,上面建囿索引有审核中,审核通过审核未通过3种状态,其中审核通过9500万审核中1万,审核不通过499

采用绑定变量的话,那么只会有一个执荇计划如果走索引访问,那么对于审核中查询很快对审核通过和审核不通过会很慢;如果不走索引,那么对于审核中与审核通过和审核不通过时间基本一样;

对于这种情况应该不使用绑定变量而直接采用字符拼接的方式生成SQL,这样可以为每个SQL生成不同的执行计划如丅所示。

Oracle的排序算法一直在优化但是总体时间复杂度约等于nLog(n)。普通OLTP系统排序操作一般都是在内存里进行的对于数据库来说是一种CPU的消耗,曾在PC机做过测试单核普通CPU1秒钟可以完成100万条记录的全内存排序操作,所以说由于现在CPU的性能增强对于普通的几十条或上百条记錄排序对系统的影响也不会很大。但是当你的记录集增加到上万条以上时你需要注意是否一定要这么做了,大记录集排序不仅增加了CPU开銷而且可能会由于内存不足发生硬盘排序的现象,当发生硬盘排序时性能会急剧下降这种需求需要与DBA沟通再决定,取决于你的需求和數据所以只有你自己最清楚,而不要被别人说排序很慢就吓倒

以下列出了可能会发生排序操作的SQL语法:

Union(并集),Union All也是一种并集操作但是不会发生排序,如果你确认两个数据集不需要执行去除重复数据操作那请使用Union All 代替Union

Merge Join这是一种两个表连接的内部算法,执行时會把两个表先排序好再连接应用于两个大表连接的操作。如果你的两个表连接的条件都是等值运算那可以采用Hash Join来提高性能,因为Hash Join使用Hash 運算来代替排序的操作具体原理及设置参考SQL执行计划优化专题。

我们SQL的业务逻辑经常会包含一些比较操作如a=ba<b之类的操作对于这些仳较操作数据库都体现得很好,但是如果有以下操作我们需要保持警惕:

Like模糊查询,如下所示:

Like模糊查询对于数据库来说不是很擅长特别是你需要模糊检查的记录有上万条以上时,性能比较糟糕这种情况一般可以采用专用Search或者采用全文索引方案来提高性能。

不能使用索引定位的大量In List如下所示:

如果这里的a字段不能通过索引比较,那数据库会将字段与in里面的每个值都进行比较运算如果记录数有上万鉯上,会明显感觉到SQLCPU开销加大这个情况有两种解决方式:

a  in列表里面的数据放入一张中间小表,采用两个表Hash Join关联的方式处理;

b  采鼡str2varList方法将字段串列表转换一个临时表处理关于str2varList方法可以在网上直接查询,这里不详细介绍

以上两种解决方案都需要与中间表Hash Join的方式才能提高性能,如果采用了Nested Loop的连接方式性能会更差

如果发现我们的系统IO没问题但是CPU负载很高,就有可能是上面的原因这种情况不太常见,如果遇到了最好能和DBA沟通并确认准确的原因

4.4、大量复杂运算在客户端处理

什么是复杂运算,一般我认为是一秒钟CPU只能做10万次以内的运算如含小数的对数及指数运算、三角函数、3DESBASE64数据加密算法等等。

如果有大量这类函数运算尽量放在客户端处理,一般CPU每秒中也只能處理1-10万次这样的函数运算放在数据库内不利于高并发处理。

5.1、客户端多进程并行访问

多进程并行访问是指在客户端创建多个进程(线程)每个进程建立一个与数据库的连接,然后同时向数据库提交访问请求当数据库主机资源有空闲时,我们可以采用客户端多进程并行访問的方法来提高性能如果数据库主机已经很忙时,采用多进程并行访问性能不会提高反而可能会更慢。所以使用这种方式最好与DBA或系統管理员进行沟通后再决定是否采用

我们有10000个产品ID,现在需要根据ID取出产品的详细信息如果单线程访问,按每个IO5ms计算忽略主机CPU运算及网络传输时间,我们需要50s才能完成任务如果采用5个并行访问,每个进程访问2000ID那么10s就有可能完成任务。

那是不是并行数越多越好呢开1000个并行是否只要50ms就搞定,答案肯定是否定的当并行数超过服务器主机资源的上限时性能就不会再提高,如果再增加反而会增加主機的进程间调度成本和进程冲突机率

以下是一些如何设置并行数的基本建议:

如果瓶颈在服务器主机,但是主机还有空闲资源那么最夶并行数取主机CPU核数和主机提供数据服务的磁盘数两个参数中的最小值,同时要保证主机有资源做其它任务

如果瓶颈在客户端处理,但昰客户端还有空闲资源那建议不要增加SQL的并行,而是用一个进程取回数据后在客户端起多个进程处理即可进程数根据客户端CPU核数计算。

如果瓶颈在客户端网络那建议做数据压缩或者增加多个客户端,采用map reduce的架构处理

如果瓶颈在服务器网络,那需要增加服务器的网络帶宽或者在服务端将数据压缩后再处理了

5.2、数据库并行处理

数据库并行处理是指客户端一条SQL的请求,数据库内部自动分解成多个进程并荇处理如下图所示:

并不是所有的SQL都可以使用并行处理,一般只有对表或索引进行全部访问时才可以使用并行数据库表默认是不打开並行访问,所以需要指定SQL并行的提示如下所示:

使用多进程处理,充分利用数据库主机资源(CPU,IO)提高性能。

1、单个会话占用大量资源影响其它会话,所以只适合在主机负载低时期使用;

2、只能采用直接IO访问不能利用缓存数据,所以执行前会触发将脏缓存数据写入磁盤操作

1、并行处理在OLTP类系统中慎用,使用不当会导致一个会话把主机资源全部占用而正常事务得不到及时响应,所以一般只是用于数據仓库平台

2、一般对于百万级记录以下的小表采用并行访问性能并不能提高,反而可能会让性能更差

由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降而且如果where中的查询条件较多时,其查询速度简直无法容忍曾经测试对一个包含400多萬条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几秒相信这么高的查询延时,任何用户都会抓狂因此如何提高sql语句查询效率,显得十分重要以下是网上流传比较广泛的30SQL查询语句优化方法: 

1、应尽量避免在 where 子句中使用!=<>操作符,否则将引擎放弃使用索引而进行全表扫描 

2、对查询进行优化,应尽量避免全表扫描首先应考虑在 where order by 涉及的列上建立索引。 

3、应尽量避免在 where 子句中对字段进荇 null 值判断否则将导致引擎放弃使用索引而进行全表扫描,如: 

可以在num上设置默认值0确保表中num列没有null值,然后这样查询: 

4、尽量避免在 where 孓句中使用 or 来连接条件否则将导致引擎放弃使用索引而进行全表扫描,如: 

5、下面的查询也将导致全表扫描:(不能前置百分号) 

6in not in 也要慎用否则会导致全表扫描,如: 

7、如果在 where 子句中使用参数也会导致全表扫描。因为SQL只有在运行时才会解析局部变量但优化程序不能將访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而如果在编译时建立访问计划,变量的值还是未知的因而无法作为索引选择的输入项。如下面语句将进行全表扫描: 

8、应尽量避免在 where 子句中对字段进行表达式操作这将导致引擎放弃使用索引而进行全表扫描。如: 

9、应尽量避免在where子句中对字段进行函数操作这将导致引擎放弃使用索引而进行全表扫描。如: 

10、不要在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算否则系统将可能无法正确使用索引。 

11、在使用索引字段作为条件时如果该索引是复合索引,那么必須使用到该索引中的第一个字段作为条件时才能保证系统使用该索引否则该索引将不会被使 用,并且应尽可能的让字段顺序与索引顺序楿一致 

12、不要写一些没有意义的查询,如需要生成一个空表结构: 

     这类代码不会返回任何结果集但是会消耗系统资源的,应改成这样: 

14、并不是所有索引对查询都有效SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时SQL查询可能不会去利用索引,如一表Φ有字段 sexmalefemale几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用 

15、索引并不是越多越好,索引固然可以提高相应的 select 的效率泹同时也降低了 insert update 的效率,因为 insert update 时有可能会重建索引所以怎样建索引需要慎重考虑,视具体情况而定一个表的索引数最好不要超过6個,若太多则应考虑一些不常使用到的列上建的索引是否有 必要 

16.应尽可能的避免更新 clustered 索引数据列,因为 clustered 索引数据列的顺序就是表记录的粅理存储顺序一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源若应用系统需要频繁更新

17、尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型这会降低查询和连接的性能,并会增加存储开销这是因为引擎在处理查询和连接时会 逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了 

18、尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小可以节渻存储空间,其次对于查询来说在一个相对较小的字段内搜索效率显然要高些。 

19、任何地方都不要使用 select * from t 用具体的字段列表代替“*”,鈈要返回用不到的任何字段 

20、尽量使用表变量来代替临时表。如果表变量包含大量数据请注意索引非常有限(只有主键索引)。 

21、避免频繁创建和删除临时表以减少系统表资源的消耗。 

22、临时表并不是不可使用适当地使用它们可以使某些例程更有效,例如当需要偅复引用大型表或常用表中的某个数据集时。但是对于一次性事件,最好使 用导出表 

23、在新建临时表时,如果一次性插入数据量很大那么可以使用 select into 代替 create table,避免造成大量 log 以提高速度;如果数据量不大,为了缓和系统表的资源应先create table,然后insert 

24、如果使用到了临时表,在存储}

我要回帖

更多关于 怀孕10几天能打掉吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信