匿名存储过程与存储过程:
匿名存储过程,故名思议,它是没有名字的语句块。它的传参方式与存储过程是相似的。
原本以为两者的性能差不度,但测试了一下,却吓了一跳。
时间证明匿名块是无法提高性能的,因为它根本就不会在服务端进行缓存:
预算系统性能加速问题:
原本通过SQL Server Profiler工具查询预算系统SQL语句的执行时间,
同时也查出了一些语句重复执行。
原本以为把语句改成存储过程的形式会有性能的极大提升,但经过具体的测试之后,并没有我预期的好。我个人认为,预编译存储过程可以改善语句的执行计划和网络传输的负担。但是即使是预编译之后,也无法大幅度的提升系统性能。
到此,我觉得能够让预算系统性能有质飞跃的可能性,仅仅存在于使用数据缓存技术。
基于目前预算系统的架构,基于事务的缓存机制是不会存数据同步异常的,但会存储并发死锁问题。
为了保证数据的同步,我使用的数据库缓存依赖技术。主要查询语句中的主表中的数据发生了异常,我都重新将数据装载到缓存当中。
我了避免因为缓存过大,占用过多的服务器资源,我会根据系统逻辑运行的速度,决定缓存失效的时间。减轻服务器的负载。
http://www.cnblogs.com/yuhanzhong/archive/2011/08/10/2133284.html