项目开发中使用存储过程和直接使用SQL语句的区别
1个回答
展开全部
1,sp在后台,而SQL在前台。相对而言,前者具有更大的灵活性;
2,sp是参数化的,而SQL可能是动态拼装的。因此,DBMS在执行时,前者效率更高(因为直接从Cache区中取出,不再需要解析)
3,使用SQL进行动态组装,代码不够清晰,有点啰嗦
--遇到单引号【'】需要额外处理
-- 若使用StringReplace还好些
4,多条件组合时,两者各有利弊。SQL可能因用户条件选择少而执行效率高(语句简单);而sp的执行效率都取决于全部条件的组合。
但全部都用sp也不可取
5、如果管理不良,多人的sp堆积在DB中,会比较混乱。
6、简单的查询,使用sp,开发效率低(毕竟还要在后台额外开发;变更也可能要同时改2个地方)
基本使用经验总结:
A)简单查询,使用前台SQL;
B)可能变化(尤其客户定制)、重复执行、追求效率的,尽量使用后台sp.
2,sp是参数化的,而SQL可能是动态拼装的。因此,DBMS在执行时,前者效率更高(因为直接从Cache区中取出,不再需要解析)
3,使用SQL进行动态组装,代码不够清晰,有点啰嗦
--遇到单引号【'】需要额外处理
-- 若使用StringReplace还好些
4,多条件组合时,两者各有利弊。SQL可能因用户条件选择少而执行效率高(语句简单);而sp的执行效率都取决于全部条件的组合。
但全部都用sp也不可取
5、如果管理不良,多人的sp堆积在DB中,会比较混乱。
6、简单的查询,使用sp,开发效率低(毕竟还要在后台额外开发;变更也可能要同时改2个地方)
基本使用经验总结:
A)简单查询,使用前台SQL;
B)可能变化(尤其客户定制)、重复执行、追求效率的,尽量使用后台sp.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询