使用SQL存储过程有什么好处 用视图有什么好处
2024-08-25 03:16:32
随便胡乱说几点,大家补充一下。
1。预编译,已优化,效率较高。避免了SQL语句在网络中传输然后再解释的低效率。
2。如果公司有专门的DBA,写存储过程可以他来做,程序员只要按他提供的接口调用就好了。这样分开来做,比较清楚。
3。修改方便。嵌入在程序中的SQL语句修改比较麻烦,而且经常不能肯定该改的是不是都改了。SQLSERVER上的存储过程修改就比较方便,直接改掉该存储过程,调用它的程序基本不用动,除非改动比较大(如改了传入的参数,返回的数据等)。
4。会安全一点。不会有SQL语句注入问题。
当然,也有缺点。特别是业务逻辑比较复杂时,全用存储过程来写,估计也累的够呛。
■SQL存储过程执行起来比SQL命令文本快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。
■调用存储过程,可以认为是一个三层结构。这使你的程序易于维护。如果程序需要做某些改动,你只要改动存储过程即可
■你可以在存储过程中利用Transact-SQL的强大功能。一个SQL存储过程可以包含多个SQL语句。你可以使用变量和条件。这意味着你可以用存储过程建立非常复杂的查询,以非常复杂的方式更新数据库。
■最后,这也许是最重要的,在存储过程中可以使用参数。你可以传送和返回参数。你还可以得到一个返回值(从SQL RETURN语句)。
(1)安全性。使用视图隐藏了数据的来源。
(2)方便性。在多表连接查询时,可以使用视图提高效率。
你用了视图后,你更改元数据如,表名,列名,那你就只需要改视图的代码,而不需要改程序!
如果你要经常对几个表join查询,那你做成视图,用的时候只要select * from view就行了!
最新文章
- python3  threading初体验
- [软件推荐]快速文件复制工具(Limit Copy) V4.0 绿色版
- heart beat/心跳包
- 记录下ECharts的一些功能
- 算法训练 Hanoi问题
- poj 2127 LCIS 带路径输出
- 史上最全的phpstorm常用配置
- nginx server_参数配置总结(转)
- 气死人不偿命,Q_OBJECT导致的C++报错,而且还看不明白(#ifdef没控制好,导致什么都不认识了)
- 电磁兼容性设计学习笔记--PCB中地的布局
- PHP批量审核ajax jquery
- CBV进阶(一)
- [OpenGL] mac上运行NateRobin的OpenGL教程找不到 data file 解决方案
- 201521123074 《Java程序设计》第13周学习总结
- Ext JS 6开发实例(三) :主界面设计
- React Native之AppRegistry模块
- vue-cli 创建项目失败
- nginx多tomcat负载均衡
- dede 相关推荐调用
- System.Collections 学习