sql存储过程的优点
有关存储的问题我建了个存储过程createprocquery_bookasselect*frombook如果我表book更新了存储过程是不是要重新遍历一下表?这样的话数据...
有关存储的问题我建了个存储过程 create proc query_book as select * from book 如果我表book更新了 存储过程是不是要重新遍历一下表?这样的话数据库是不是很耗系统资源。
展开
1个回答
展开全部
1.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后
已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
3.如果我表book更新了
存储过程是不是要重新遍历一下表?不会,如果有需要根据book表更新而更新可考虑建立触发器在特定条件触发,如:insert,update,delete语法如下:
create
trigger
tr_book
on
book
for
insert,update,delete
as
begin
...
end
补充回答:数据量越大执行过程越长.如是几十条几或几K可能看不出效果如果是上10W或者过100W你就会发现速度(查询、更新)会慢很多,,随著数据量增大你的存储过程执行时间会更长是一定的
已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
3.如果我表book更新了
存储过程是不是要重新遍历一下表?不会,如果有需要根据book表更新而更新可考虑建立触发器在特定条件触发,如:insert,update,delete语法如下:
create
trigger
tr_book
on
book
for
insert,update,delete
as
begin
...
end
补充回答:数据量越大执行过程越长.如是几十条几或几K可能看不出效果如果是上10W或者过100W你就会发现速度(查询、更新)会慢很多,,随著数据量增大你的存储过程执行时间会更长是一定的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询