网易首页 > 网易号 > 正文 申请入驻

无需改代码,提高SQL SERVER数据库性能的10个最简单方法

0
分享至

众所周知SQL SERVER是微软的数据库拳头产品,有着图形化友好界面、操作门槛低、部署难度小,一键式安装的特点,受到全球开发者及企业的青睐。从历代版本说起,经典2000版本是划时代的里程碑作品,至今还能在各种财务软件、ERP偶遇一回。

请点击输入图片描述(最多18字)

但随着软件的升级换代,早期的2000版本从性能、功能上已经难以满足现行需求的发展,随之出现了2005、2008、2008R2、2012、2014、2016、2017、2019版本,2005和2008作为2000的实力升级版本,已经在数据库界扛了多年把子。当然,也经常与另外两大佬Oracle和mysql轮流坐老大。

真实案例分析

在很多生产环境中,随着日积月累,数据量越来越庞大,如今信息爆炸的大数据时代来临,给它也增加了不小的压力。

这些年来,对SQL SERVER卡顿、查询慢、死锁的问题也经常耳闻。

但说起方法,五花八门,无外乎复杂SQL语句优化,面对庞大的ERP、OA系统,改造难度极大。

所以,在这几年工作经验中,总结出一些简单却有奇效的方法与大家分享。

2020年年末,朋友紧急邀请,处理了一个棘手案例:

一家本地物流企业,ERP上线三年,系统出现频繁卡死、一个简单查询十几分钟,内存占用却仅8G,企业一度停工,IT部门技术员百思不得其解,老板几近抓狂。

经过分析,基本情况如下:

Win2012系统,2008R2 32位数据库,普通机械硬盘,内存16G,仅占用8G,CPU占用稳定4%左右,Windows自身反应很慢,桌面窗口屡次残影。

根据经验,第一时间查看任务管理器的“性能监视器”,发现硬盘I/O一直居高不下,满载100%

请点击输入图片描述(最多18字)

再看看高I/O进程,居然是SQL SERVER的tempdb文件。

然后大致浏览了几个大表对应的索引,大部分为空或者碎片率100%

请点击输入图片描述(最多18字)

看到这,随行的一位ERP实施工程师皱了皱眉头,感慨ERP系统语句可能需要进行大幅优化调整。老板一听,脸顿时沉了下来,这意味着有很多不可预估的风险发生,并且花费大量时间。

老板要求在不停工、停业、伤筋动骨改代码的情况下,先让系统运转起来即可。

大家听完直摇头,因为距离天亮开工还不到11个小时了。

简单粗暴,10个方法调一剂良方

时间一分一秒过去,现场氛围略微沉寂,让我有机会冷静片刻。

既然修改代码不现实,那就从外围解决问题。

方法1:SQL SERVER 32位版本开启AWE,并拆机扩容内存到64G

请点击输入图片描述(最多18字)

32位程序无法使用超过4G的内存,数据库无法有效地利用内存,导致频繁的硬盘读写。开启后将允许32位数据库锁定内存页,允许使用超过4G的内存,利用内存充分释放性能。另外,注意在组策略中将sqlserver.exe进程的用户授予允许锁定内存页权限。

方法2:将系统临时数据库tempdb.mdf移动到独立的物理存储容器

很多SQL语句,诸如 select * into #tmp from table,这里的临时表#tmp就储存于tempdb。如果tempdb与主数据库存在于同一个物理硬盘,当临时表使用频繁时,可能造成互相争夺资源的现象发生,导致硬盘I/O瓶颈。tempdb内的表在SQL SERVER进程每次启动时会清空。可以理解为它只是mssql的一个临时草稿纸。

当然,你也可以用Primo Ramdisk等软件将内存一部分虚拟成磁盘分区,然后转移tempdb库。性能将比SSD更强悍。

方法3:全表索引碎片整理

右键管理>维护计划>新建维护计划,创建一个全库全表重新生成索引任务,暂时设置为手动。计划创建完成后右键执行,漫长的等待执行完毕。

请点击输入图片描述(最多18字)

方法4:关闭计算机虚拟内存

系统虚拟内存会在硬盘上虚拟一块区域作为虚拟内存,而硬盘的读写速度远远慢于内存速度。关闭虚拟内存将强制所有程序使用高速内存运行,降低硬盘I/O。但是关闭虚拟内存可能导致一些问题,非紧急需要或对服务器上各类软件非常了解,慎重操作。

请点击输入图片描述(最多18字)

这里ERP采用服务端占用大量虚拟内存,关闭虚拟内存强制使用更快的物理内存。当然,前提是物理内存足够大。

方法5:电源管理设置为高性能模式+性能优先级

控制面板,电源管理,将方案设置为高性能模式,再将计算机性能优先级设置为后台服务。这两点看似不起眼,但作用明显。如果电源方案为节能或默认的平衡,CPU将工作在降频模式,硬件散热系统也工作在低频环境,如果温度过高,还会进一步降低CPU频率,导致性能下降,win2008以上版本请选择“卓越性能”,开启方法请自行搜索。

请点击输入图片描述(最多18字)

方法6:SQL Server Profiler跟踪器找出问题语句

用mssql自带的工具SQL Server Profiler,设置时间大于2.5秒的执行全部列出,再将截获的语句复制到SQL Server Managemen,右键“在数据库引擎优化顾问中分析查询”,它将全自动地帮你分析出索引方案来优化耗时长的语句,只要在分析结果点击应用,即可获得大幅性能提升。而这些操作,无需懂任何SQL编程就能简单完成。性能提升简直是质的飞跃。

请点击输入图片描述(最多18字)

请点击输入图片描述(最多18字)

揪出那些拖垮你性能的语句,一键优化它。优化效果非常惊艳。可能原本需要十几分钟的查询现在只需三秒。如上图,预计估计提高程度:80%,80%这是个什么概念。

方法7:当然别忘了磁盘碎片整理(机械硬盘)

机械硬盘需要定期整理磁盘碎片,否则会降低硬盘读写性能,有条件的上SSD,建议组Raid或上云服务器采用云SSD盘。这个就不需要配图了吧。

方法8:修改数据库事务隔离级别

MSSQL数据库隔离级别最低级别为read committed snapshot,它可以将数据库死锁概率降到最低,看自身情况开启。DBCC USEROPTIONS语句可以查看当前的隔离级别

请点击输入图片描述(最多18字)

方法9:数据库设置及服务设置

在管理器中右键服务器,属性>处理器,勾选“提升SQL SERVER优先级”。

再选中数据库,右键属性>选项,恢复模式:简单,兼容模式选择合适的兼容级别

请点击输入图片描述(最多18字)

方法10:升级高版本的SQL SERVER ,更换x64位系统

如果现行使用的是SQL SERVER2008及以下版本,建议升级到2014或更高版本,我曾在同一台服务器上测试装过2008和2014、2019三个版本,进行10万条数据的写入、更新、删除,得出的结果如下:

请点击输入图片描述(最多18字)

可以明显发现,2014相对于2008有很大提升,2019相对于2014提升并不是非常明显。2014版本加入了内存表的概念,预计使用得当对性能提升有一定帮助。

毕竟三者相差了多个大版本,微软总不能只更新了版本号吧~

一顿操作猛如虎

跟踪器及数据库引擎优化顾问优化了将近三百多条语句,总共花费了四个多钟头时间,全部完成后,老板从宿舍召集一些老员工通宵测试优化结果。

一番操作测试下来,丝滑般顺畅,所有卡顿完全消除,查询基本都是秒出结果,死锁消失,硬盘I/O稳定维持在2MB/S以下。一筹莫展的脸上露出了久违的舒坦,可以安心地睡个觉。

之后,IT部门除了每周定时执行索引维护外,没有其他操作,至今未见卡顿。

总结10个简单有效的方法分享给大家,希望能给正在为此类问题水深火热的人带来曙光。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
不是胡金秋崔永熙!澳大利亚主帅大赞中国1小将,未来是第1核心

不是胡金秋崔永熙!澳大利亚主帅大赞中国1小将,未来是第1核心

老吴说体育
2026-06-21 23:44:49
英国政坛震荡:斯塔默22日辞职,近十年第七首相将诞生

英国政坛震荡:斯塔默22日辞职,近十年第七首相将诞生

王飬吃吃喝喝
2026-06-21 17:59:40
CBA最新消息!许利民重返北京首钢,李炎哲或离开新疆男篮

CBA最新消息!许利民重返北京首钢,李炎哲或离开新疆男篮

体坛瞎白话
2026-06-22 08:16:55
王毅刚走,蒙古恳求中国,"借道"把稀土运给日本!成全蒙日合作?

王毅刚走,蒙古恳求中国,"借道"把稀土运给日本!成全蒙日合作?

阿器谈史
2026-06-22 00:18:40
太难了!知名车厂再宣布裁员5万

太难了!知名车厂再宣布裁员5万

新浪财经
2026-06-21 15:10:07
小天赐爸爸父亲节落泪直言大儿子去世原因,六年了 第一次后悔!

小天赐爸爸父亲节落泪直言大儿子去世原因,六年了 第一次后悔!

追踪之点
2026-06-21 15:28:08
伊朗媒体:伊朗代表团拒绝继续在瑞士进行伊美谈判

伊朗媒体:伊朗代表团拒绝继续在瑞士进行伊美谈判

新京报
2026-06-22 07:26:12
储永宏,任江苏省人大常委会党组副书记!阜阳市副市长张银军,拟任新职!

储永宏,任江苏省人大常委会党组副书记!阜阳市副市长张银军,拟任新职!

生活魔术专家
2026-06-22 07:18:51
《抓特务》为何票房扑街?太陈旧,是次因,“瘸驴叙事”,是主因

《抓特务》为何票房扑街?太陈旧,是次因,“瘸驴叙事”,是主因

马庆云的影音娱
2026-06-19 14:39:29
专业歌手败给演员!杨坤首场垫底遭淘汰,现场哽咽落泪质问节目组

专业歌手败给演员!杨坤首场垫底遭淘汰,现场哽咽落泪质问节目组

沧海一书客
2026-06-22 06:10:35
四球碾压突尼斯掌控出线大局,日本队已具备世界杯争冠实力

四球碾压突尼斯掌控出线大局,日本队已具备世界杯争冠实力

姜大叔侃球
2026-06-21 15:24:51
4-0突尼斯!日本足球已成顶级强队,世界杯争冠不是痴人说梦!

4-0突尼斯!日本足球已成顶级强队,世界杯争冠不是痴人说梦!

海浪星体育
2026-06-21 14:05:22
万斯:这是我的最后通牒!你内搭尼亚胡最好能顶住压力

万斯:这是我的最后通牒!你内搭尼亚胡最好能顶住压力

贱议你读史
2026-06-21 18:35:05
全球还存在的7个流亡政府,他们都是谁?为何会流亡海外?

全球还存在的7个流亡政府,他们都是谁?为何会流亡海外?

七号说三国
2026-06-21 19:32:55
背叛中国、又出卖美国!臭名昭著的华裔双面间谍高瞻,下场如何?

背叛中国、又出卖美国!臭名昭著的华裔双面间谍高瞻,下场如何?

一簌月光
2026-06-22 06:33:51
委内瑞拉距离库拉索只有65公里,为何历史上没将库拉索纳入版图?

委内瑞拉距离库拉索只有65公里,为何历史上没将库拉索纳入版图?

世界纵横说
2026-06-19 15:45:15
赚麻了!51岁贝克汉姆成世界杯最大赢家,一届赛事狂赚1.7亿

赚麻了!51岁贝克汉姆成世界杯最大赢家,一届赛事狂赚1.7亿

王大发不懂球
2026-06-21 20:30:05
央视曝光!多款水果跌落神坛,滥用甜味剂8000倍甜度、违规防腐剂

央视曝光!多款水果跌落神坛,滥用甜味剂8000倍甜度、违规防腐剂

陈博世财经
2026-06-21 16:42:08
高速限速80还配叫高速?四川车主集体吐槽,交通厅最新回应来了

高速限速80还配叫高速?四川车主集体吐槽,交通厅最新回应来了

生活魔术专家
2026-06-22 01:15:27
乌克兰为什么开始占优了?

乌克兰为什么开始占优了?

日观研
2026-06-21 16:07:34
2026-06-22 08:43:00
狂风之影 incentive-icons
狂风之影
互联网自由职业者
14文章数 20关注度
往期回顾 全部

科技要闻

SpaceX 74天闪电IPO,OpenAI能照搬吗?

头条要闻

涨粉1400多万接"失业通知书" 佛得角门将收不续约通知

头条要闻

涨粉1400多万接"失业通知书" 佛得角门将收不续约通知

体育要闻

18岁斩世界杯首球!亚马尔连创5大纪录

娱乐要闻

原来她就是张颂文老婆

财经要闻

这门“躺赚”的生意,要凉了?

汽车要闻

惊出冷汗!重庆实测奥迪A5L,华为智驾这波操作绝了…

态度原创

亲子
健康
家居
房产
军事航空

亲子要闻

纸尿裤“罗生门”:消费信任透支,真相越辩越远?

吃粽子的3条保胃法则,消化科医生推荐

家居要闻

绿意盎然 自然之境

房产要闻

商业清零式退潮,大量住宅登场!三亚又要大规模调规!

军事要闻

时隔44年试射洲际导弹 现场照片传递三个重磅信息

无障碍浏览 进入关怀版