日度归档:2018年5月3日

mssql sqlserver 存储过程最佳适用场景


摘要:
下文从存储过程的简介逐步延伸讲述存储过程的最佳适用场景



存储过程概念简介

存储过程:存在于大型数据库系统中,例:db2 mssql oracle mysql 这些关系数据库中;
存储过程:由一组完成特定功能的sql语句组成的集合;
存储过程:用户只需给存储过程输入参数,存储过程则可执行相应的逻辑操作,并返回相应的执行结果。
—————————————————————–

当一组操作涉及多个表、复杂的事务、复杂的逻辑操作此时建议使用存储过程,
使用存储过程,会导致系统的移植性变差



存储过程概念应用场景

1.同一业务涉及多表访问和操作
2.对带宽要求非常严格的业务系统
3.对操作权限要求非常严格的业务系统
4.一些超级复杂的及时报表系统
5.事务要求超级严格的业务系统



存储过程概念优缺点

优点:
1.速度快。对复杂的逻辑处理方便,减少网络带宽和sql脚本传输\
2.调用运行方便,为程序员减负
3.系统升级,维护变得异常方便
4.调试方便,只需在SSMS中就可以完成一切
5.完美解决sql注入式漏洞
———————————————————-
缺点:
1.移植性非常差,因为每个DB服务器, sql语法有一点点差异

sp_MSforeachtable 应用之重建所有索引及更新数据库中所有表统计信息


摘要:
下文分享使用sp_MSforeachtable系统存储过程:”更新所有统计信息”及”重建索引”


EXEC sp_MSforeachtable 'UPDATE STATISTICS ? WITH FULLSCAN'   ---更新所有表统计信息
 
Exec sp_MSforeachtable "dbcc dbreindex('?')"    ---重新索引