优化第一周
项目 |
所在页面/表 |
优化过程/描述 |
效果 |
存储过程 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]属于站内搜索存储过程,业务需求上恐需要调整,而后再优化