牛腩新闻发布系统——存储过程使用
来源:互联网 发布:ubuntu core arm 编辑:程序博客网 时间:2024/04/20 04:47
在牛腩新闻发布系统中在后台开发时,用于新闻数据库操作用到了存储过程。存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
格式:
格式:-- =============================================-- Author:作者-- Create date: 创建时间-- Description:描述-- =============================================CREATE PROCEDURE 存储过程名字参数ASBEGIN查询语句ENDGO实例:-- =============================================-- Author:高玮-- Create date: 11月7日-- Description:取出条热点新闻(评论回复最多的十条新闻)-- =============================================ALTER PROCEDURE [dbo].[news_selectHotNews]ASBEGINselect top 10 n.id ,n.title ,n.createTime ,c.[name],COUNT (com.id ) as comCout,c.id as caIdfrom news ninner 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 descEND
在代码中有个关键词inner join这是内连接的表示方式。inner join(等值连接) 只返回两个表中联结字段相等的行。
left join(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录。
right join(右联接)返回包括右表中的所有记录和左表中联结字段相等的记录。
语法:详解http://blog.csdn.net/steryzone/article/details/4997060
用存储过程的好处
相对于直接使用SQL语句,在应用程序中直接调用存储过程有以下好处:
(1)减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条一条的调用SQL语句要高得多。
(2)执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用。
(3)更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会对应用程序造成影响。
(4) 布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
更多知识:
http://www.cnblogs.com/tjsquall/archive/2008/02/04/1064402.html
- 牛腩新闻发布系统——存储过程使用
- 牛腩新闻发布系统——存储过程
- 【牛腩新闻发布系统】——添加存储过程后重构SQLHelper
- 牛腩新闻发布系统——触发器和存储过程的区别
- 牛腩新闻发布系统笔记9:存储过程
- 牛腩新闻发布系统笔记11:存储过程的编写
- 牛腩新闻发布系统(2)使用存储过程查询表
- 牛腩新闻发布系统——触发器使用
- 【牛腩新闻发布系统】——Static的使用
- 【牛腩新闻发布系统】——FreeTextBox控件的使用
- 牛腩新闻发布系统——总结
- 牛腩新闻发布系统——触发器
- 牛腩新闻发布系统——总结
- 【牛腩新闻发布系统】——总结
- 【牛腩】——新闻发布系统收工
- 【牛腩新闻发布系统】——总结
- 【牛腩新闻发布系统】——CSS
- 【牛腩新闻发布系统】——牛腩初印象
- exec函数簇"哨兵"的问题
- DWR了解
- 用Java实现断点续传的基本思路和代码
- poj 2135 最小费用流
- 来到CSDN第一篇文章
- 牛腩新闻发布系统——存储过程使用
- RFC1738——Uniform Resource Locators (URL)
- 堆中开辟二维数组
- linux压缩解压缩
- 256色工具栏使用
- C# 防止源码遭破解
- 虚拟机与主机文件共享及端口映射问题
- 求余数
- C#做资源管理器、树形表格