SqlServer优化日志(1)

背景:实施人员反馈  函数  select * from f_getHomeInfo('01','','')非常慢需要9秒,而以前只要1秒。

操作:1、我把函数的内容拿出来运行,非常快,依然是1秒完成

   2、我把函数的内容放到存储过程去执行,非常慢,需要9秒

   3、对比函数的执行计划和SQL的执行计划,完全一样

   4、仔细查看执行计划发现预估一行,实际3000多行,于是猜想是预估内存太少导致的问题,想要提高预估内存,就要提高预估行,于是我使用了OPTION (OPTIMIZE FOR UNKNOWN)这个暗示,告诉优化器这个查询条件不太确定,于是优化器就会预估一个比较稳妥的行数。

   5、修改完成之后再次运行,回到正常速度1秒

posted @ 2018-11-01 20:57  范海辛Z  阅读(342)  评论(0编辑  收藏  举报