最近在搞性能优化,由于项目的需要,我们必须尽可能的减少数据库的调用,于是我们做了不少的优化,比如原先需要3个数据库调用的,现在我们把它整合到一个存储过程中,这样只需要一个方法即可。
但这也产生了另外一个问题,之前我们是使用MS SQL Profiler去跟踪数据库的调用的,由于整合了不少存储过程,比如原先需要三个存储过程做三件事,之后我们新增加了一个存储过程,在这个存储过程中调用这三个原有的存储过程,这样在MS SQL Profiler就会显示出4个存储过程,那这样测试下来,反而性能下降了,因为调用的存储过程多了。
如何把这些内嵌的存储过程过滤掉呢?
其实很简单,只要在MS SQL Profiler里面增加一列,NestLevel,把它的过滤设置为等于1即可,这样就可以过滤掉内嵌的存储过程了。