牛腩新闻发布系统——存储过程使用
2012-11-26 21:01
316 查看
在牛腩新闻发布系统中在后台开发时,用于新闻数据库操作用到了存储过程。存储过程是在大型数据库系统中,一组为了完成特定功能的SQL
语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
格式:
格式: -- ============================================= -- Author: 作者 -- Create date: 创建时间 -- Description: 描述 -- ============================================= CREATE PROCEDURE 存储过程名字 参数 AS BEGIN 查询语句 END GO
实例: -- ============================================= -- Author: 高玮 -- Create date: 11月7日 -- Description: 取出条热点新闻(评论回复最多的十条新闻) -- ============================================= ALTER PROCEDURE [dbo].[news_selectHotNews] AS BEGIN select top 10 n.id ,n.title ,n.createTime ,c.[name],COUNT (com.id ) as comCout,c.id as caId from news n inner join category c on n.caId =c.id left join comment com on com.newsId =n.id group by n.id ,n.title ,n.createTime ,c.name,c.id order by comCout desc END
在代码中有个关键词inner join这是内连接的表示方式。inner join(等值连接) 只返回两个表中联结字段相等的行。
left join(左联接)
返回包括左表中的所有记录和右表中联结字段相等的记录。
right join(右联接)
返回包括右表中的所有记录和左表中联结字段相等的记录。
语法:详解http://blog.csdn.net/steryzone/article/details/4997060
用存储过程的好处
相对于直接使用SQL语句,在应用程序中直接调用存储过程有以下好处:
(1)减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条一条的调用SQL语句要高得多。
(2)执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用。
(3)更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会对应用程序造成影响。
(4) 布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
更多知识:
/article/5198741.html
相关文章推荐
- 牛腩新闻发布系统——存储过程使用
- 牛腩新闻发布系统笔记5:防止SQL注入以及实体类的使用
- 牛腩新闻发布系统——触发器使用
- 牛腩新闻发布系统——触发器使用
- 牛腩新闻发布系统(5)——添加新闻之FreeTextBox使用
- 牛腩新闻发布系统 aspnetpager分页(使用Repeater 分页,使用ajax刷新) DropDownList 插入一个item
- 牛腩新闻发布系统————fireBug的使用
- 牛腩新闻发布系统———如何在开发中使用第三方控件
- 【牛腩新闻发布系统】——添加存储过程后重构SQLHelper
- 【牛腩新闻发布系统】——Static的使用
- 牛腩新闻发布系统笔记9:存储过程
- 牛腩新闻发布系统小结二之U层设计与使用
- 牛腩新闻发布系统 整合类别管理页 笔记 ajax的使用
- 【牛腩新闻发布系统】——FreeTextBox控件的使用
- 牛腩新闻发布系统(一)—小技巧
- 【牛腩新闻发布系统】网页计时跳转Demo
- 牛腩新闻发布系统——验证码不显示的解决方案
- 牛腩新闻发布系统笔记10:再次重构SQLHelper
- 牛腩新闻发布系统概要
- 牛腩新闻发布系统(五):VS网站发布及常见问题