公司网站性能优化

本文介绍了一项针对数据库查询的优化工作,通过取消不必要的ORDER BY语句、创建索引及合理删除数据等手段,显著降低了SQL执行时的数据读取次数,提高了查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

优化第一周

项目

所在页面/表

优化过程/描述

效果

存储过程

PageDataSet_GetDefault2

UcDefaultPage2.ascx

首页的用户控件内

根据SQL2008执行计划查看,工具提示,创建了部分表的索引,以及取消大量的order by语句。

用了order by ,这样造成了的聚集索引扫描全表,reads升高

优化前Reads值:

30000~35000

 

优化后Reads值:

2000~2500

存储过程

PageDataSet_GetBuildProfessionNews

 

UcDefaultPage2.ascx

首页的用户控件内

首页有”价格行情”,此部分本应读取一个表 [dbo].[PriceQuotation]的前10条数据,旧代码中却调用了PageDataSet_GetBuildProfessionNews存储过程,里面嵌套执行了其他10多个存储过程,执行该存储过程reads值达3.5万次以上。在页面源码处,取消调用该过程,调用新的存储过程[Index_GetPriceQuotationNew]取消

取消order by

优化前Reads值:

30000~35000

 

优化后Reads值:

20

存储过程

[News_SelectByTopAndCondition]

[Market_SelectByTopAndCondition]

BuildNewsShow.aspx

BuildNewsDetail.aspx

取消两个存储过程的order by排序,间接取消全表扫描

优化前:

10W+

优化后

2W左右,与删除一些旧数据有关系

数据删除

[dbo].[News]

有条件的分批删除数据,删除近5W条数据,每次删除少量数据,分批删除

减少了数据读取的响应时间、已经降低数个存储过程的Reads值,不插入或者小量插入日志文件

 

 

 


 [Trade_SelectByPaging]属于站内搜索存储过程,业务需求上恐需要调整,而后再优化

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值