我把网站里几乎所有select都做成存储过程了,效率上应该只好不会坏吧?
解决方案 »
- 请教一功能。如何让某个代码在"其他地方"执行?
- 怎样将用window.open 打开窗口的值传入前页面?
- 服务器控件可以用JS脚本吗
- |M| 我快晕死了一个WebResource.axd文件把我搞死了
- 请问有谁用过CNBlogsDottext,帮我解答注册用户问题
- 怎么才能把 a.aspx 页面中的 string[] jobs = .... 的值传到 b.aspx 页面中呢?
- Page_Load加载顺序
- 做ftp客户端处理中文的问题,急,在线等!!!!!(分不够再加)
- 无闪烁定时刷新页面数据如何实现?
- sqld.Fill(ds,"user");老是出错
- 关于FileUpload控件的问题
- 菜鸟提问,高手解决
******************
传统的观念:存储过程执行一次以后被缓存,这样下次执行此存储过程就可以提高性能。
但是从sql2000开始,后台代码中的sql语句也有类似的功能了。
所以效率的提升不在于使用后台sql还是存储过程,关键在于你的select语句怎么写,数据表建了合适的索引没。
当然使用存储过程比后台sql有一个明显的好处就是,修改存储过程以后不需要重新编译代码。
同意!
不过如果要考虑数据库移植问题,你也别指望用纯后台sql就能搞定,没那么简单。常见的做法是对不同的数据库分别创建不同的数据存取层。
2. 存储过程安全.
3. 太多难以维护.
我使用存储过程的原则是.
1. 复杂查询.
2. 处理大量数据.
(1)请求时传送数据量小。
(2)主程序代码清晰。
缺点:
(1)数据库不易移植,如果从SQL Server改为Oracle,需要重写存储过程。
(2)存储过程维护比较麻烦,需要记住一个一个函数是干什么的。