zoukankan      html  css  js  c++  java
  • 牛腩新闻发布系统——存储过程使用

            在牛腩新闻发布系统中在后台开发时,用于新闻数据库操作用到了存储过程。存储过程是在大型数据库系统中,一组为了完成特定功能的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) 布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。

    更多知识:

    http://www.cnblogs.com/tjsquall/archive/2008/02/04/1064402.html

     

     

     

    Meet so Meet. C plusplus I-PLUS....
  • 相关阅读:
    基于讯飞语音API应用开发之——离线词典构建
    在Linux下安装redis
    java学习路线
    怎么做压力测试
    性能测试概念及参数介绍
    总结1-JMeter压力测试
    在软件测试面试过程中如何进行自我介绍?
    Python模块常用的几种安装方式
    Jmeter(三)关联数组
    Jmeter(二)关联
  • 原文地址:https://www.cnblogs.com/iplus/p/4490461.html
Copyright © 2011-2022 走看看