0 0

有一条sql 语句,想做成存储过程,希望指导一下0


该调sql 语句  由于数据时百万级的,所以查询很慢,希望能做成存储过程,不知人可以指导一下么?
SELECT vuc.caller,vuc.province_code,vuc.sub_area_code,vad.area_name,vuc.user_count,vsc.school_count,vcr.user_class_count,vgc.grade_count,vcc.class_count
from v_user_count as vuc
left join v_area_data as vad
on vuc.sub_area_code = vad.sub_area_code
left join v_school_count as vsc
on vsc.sub_area_code = vuc.sub_area_code and vsc.caller = vuc.caller
left join v_user_class_rel_count as vcr
on vcr.sub_area_code = vuc.sub_area_code and vcr.caller = vuc.caller
left join v_grade_count as vgc
on vgc.sub_area_code = vuc.sub_area_code and vgc.caller = vuc.caller
left join v_class_count as vcc
on vcc.sub_area_code = vuc.sub_area_code and vcc.caller = vuc.caller
group by vuc.caller,vuc.sub_area_code,vuc.province_code
[size=large][/size]

问题补充:语句看不清,重发一遍 SELECT vuc.caller,vuc.province_code,vuc.sub_area_code,vad.area_name,
vuc.user_count,vsc.school_count,vcr.user_class_count,vgc.grade_count,
vcc.class_count
from v_user_count as vuc
left join v_area_data as vad
on vuc.sub_area_code = vad.sub_area_code
left join v_school_count as vsc
on vsc.sub_area_code = vuc.sub_area_code and vsc.caller = vuc.caller
left join v_user_class_rel_count as vcr
on vcr.sub_area_code = vuc.sub_area_code and vcr.caller = vuc.caller
left join v_grade_count as vgc
on vgc.sub_area_code = vuc.sub_area_code and vgc.caller = vuc.caller
left join v_class_count as vcc
on vcc.sub_area_code = vuc.sub_area_code and vcc.caller = vuc.caller
group by vuc.caller,vuc.sub_area_code,vuc.province_code
2012年12月17日 17:41

1个答案 按时间排序 按投票排序

0 0

自己改造下吧,你的这个sql要尽量减少连表

2012年12月17日 17:55

相关推荐

    解决python 执行sql语句时所传参数含有单引号的问题

    在Python编程中,当我们需要执行SQL语句时,有时会遇到参数中包含单引号(')的情况,这可能导致SQL语法错误。在描述的问题中,作者在尝试插入数据到`teacher`表时遇到了编程错误,因为`t_info`字段的值`result2`...

    经典SQL语句大全

    13、说明:一条sql 语句搞定数据库分页 select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 具体实现: ...

    SQL存储过程

    * 减少网络流量:一个需要数百行T-SQL代码的操作,如果将其创建成存储过程,那么使用一条调用存储过程的语句就可完成该操作。这样就可避免在网络上发送数百行代码,从而减少了网络负荷。 * 作为安全机制使用:管理员...

    ORACLE优化SQL语句,提高效率

    在数据库管理和应用开发过程中,编写高效、性能优良的SQL语句是非常重要的一步。下面将详细解释如何优化Oracle中的SQL语句以提高其执行效率。 #### 1. 选择最有效率的表名顺序(基于规则的优化器) 在基于规则的...

    oracle存储过程语法

    存储过程是一种可以重复使用的数据库对象,旨在将多个SQL语句组合成一个单元,以便实现复杂的业务逻辑。 创建存储过程的基本语法 CREATE OR REPLACE PROCEDURE 存储过程名 IS BEGIN NULL; END; 存储过程的组成...

    数据库操作语句大全(sql)

    13、说明:一条sql 语句搞定数据库分页 select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 具体实现: ...

    达梦数据库_SQL语言手册

    因此在嵌入方式下,除了数据查询语句一次查询一条记录外,还有几种与游标 有关的语句: 游标的定义、打廾、关闭、拨动语句 游标定位方式的数据修改与删除语句。 为了有效维护数据库的完整性和一致性,支持 的并发...

    千万条数据的存储过程分页

    使用存储过程进行分页相比于直接使用SQL语句有以下优点: 1. **性能优化**:存储过程是预编译的,执行效率高。 2. **安全性和封装性**:存储过程可以限制对底层数据的访问权限,提高安全性。 3. **灵活性**:通过...

    Oracle PlSql 存储过程

    PROCEDURE 是最基本的存储过程单元,FUNCTION 是带返回值的存储过程,而 PACKAGE 是一组相关的存储过程的集合。 三、 Oracle 存储过程的基本语法 Oracle 存储过程的基本语法包括 declare、begin 和 end 等关键字。...

    23.动态SQL基本知识.doc

    **动态SQL**是一种在程序运行过程中,能够动态构建并执行的SQL语句技术。与静态SQL(即在编写程序时就已经确定好SQL语句的具体内容)相比,动态SQL提供了更大的灵活性,能够根据不同的条件动态生成不同的SQL语句。 ...

    存储过程练习

    在IT行业中,数据库管理和操作是至关重要的部分,而存储过程是数据库系统中一个非常实用的特性,它允许程序员或数据库管理员预编译一系列SQL语句并封装在一起,以供重复调用,提高效率和代码的可维护性。本题涉及的...

    老司机总结的12条 SQL 优化方案(非常实用).docx

    MySQL 对于 IN 做了相应的优化,即将 IN 中的常量全部存储在一个数组里面,而且这个数组是排好序的。但是如果数值较多,产生的消耗也是比较大的。 3. 读取适当的记录 LIMIT M,N,而不要读多余的记录 `SELECT id,...

    c# 图书管理系统 源码

    客户端使用.net2008开发,数据库是sqlserver2005,数据库与客户端是分开做的,数据库端就是把所有用到的有关数据库操作写成存储过程,然后客户端就只是调用存储过程而无需写一条sql语句。实现的思路是相当简单的,但是...

    10数据库原理与应用教程—SQLServer数据库__考试题目(10)-.docx

    5. **自动提交事务**:默认情况下,每条SQL语句都会作为一个独立的事务处理。 6. **批处理级事务**:将一批SQL语句视为一个事务。 **提交或取消事务**: - **提交事务**:`COMMIT TRANSACTION`,表示事务成功完成。...

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    PL-SQL用户指南与参考

    - **隐式游标**:PL/SQL自动为每条SQL语句创建一个游标,用于处理单行查询结果。 - **显式游标**:用户显式声明的游标,主要用于处理多行查询结果。 - **声明与使用** - 显式游标声明: ```sql DECLARE CURSOR...

    2009达内SQL学习笔记

    多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] ...

    PL/SQL 基础.doc

    PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...

    C#基类库(苏飞版)

    11.执行查询语句,返回DataSet,执行SQL语句,返回影响的记录数,执行多条SQL语句,实现数据库事务。 执行多条SQL语句,实现数据库事务。 12.执行多条SQL语句,实现数据库事务。 13.执行多条SQL语句,实现数据库事务...

    分页代码_存储过程+多样式分页代码

    存储过程是预编译的SQL语句集合,可以在数据库端高效执行,而自定义分页控件则负责在前端展示和控制分页逻辑。 首先,让我们深入了解一下存储过程在分页中的作用。在大数据集的分页中,存储过程通常用来获取特定...

Global site tag (gtag.js) - Google Analytics