SQL Server 2005中的存储过程,触发器和索引的好处是什么?要全面的
1个回答
展开全部
如果是一个网络系统,在以下情况下必须使用存储过程:
1 涉及大批量数据统计处理
你不能把N万记录从服务器通过网络传到客户端去处理,比如客户端是对流量敏感的手机用户,你这么做他们会杀了你,你只能用存储过程,把这些数据在服务器上统计出来,然后把结果传给客户端用户;
2 涉及大量用户频繁插入更新删除数据的场合
你必须给用户提供专门的存储过程、通过事务处理来完成这类操作,否则,必然会使数据库表的内容发生数据不一致、以及脏读等等问题,此时的存储过程、在这类操作中要小心给表加锁解锁(说白了就是作好事务处理开始、结束和回滚),如果这些事务处理放在客户端,一旦开始事务、但由于网络连接中断,则可能导致数据库无法解锁而停止工作。
等等吧,所以很多应用系统,大多外围程序就是输入输出,真正的功能全都在存储过程里体现。
触发器是个数据同步的程序,比如你修改了表A、你同时期望修改表B,那么就给表A上做触发器吧。简单说就这么些东西。
1 涉及大批量数据统计处理
你不能把N万记录从服务器通过网络传到客户端去处理,比如客户端是对流量敏感的手机用户,你这么做他们会杀了你,你只能用存储过程,把这些数据在服务器上统计出来,然后把结果传给客户端用户;
2 涉及大量用户频繁插入更新删除数据的场合
你必须给用户提供专门的存储过程、通过事务处理来完成这类操作,否则,必然会使数据库表的内容发生数据不一致、以及脏读等等问题,此时的存储过程、在这类操作中要小心给表加锁解锁(说白了就是作好事务处理开始、结束和回滚),如果这些事务处理放在客户端,一旦开始事务、但由于网络连接中断,则可能导致数据库无法解锁而停止工作。
等等吧,所以很多应用系统,大多外围程序就是输入输出,真正的功能全都在存储过程里体现。
触发器是个数据同步的程序,比如你修改了表A、你同时期望修改表B,那么就给表A上做触发器吧。简单说就这么些东西。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询