精华内容
下载资源
问答
  • 存储过程执行速度很~怎么解决?
    2021-05-01 05:22:47

    create or replace procedure prc_yanglaolixi is

    str_aac001 varchar2(16);

    str2_aac001 varchar2(16);

    num_aic410 number(12,2);

    num_aic412 number(12,2);

    num_aic413 number(12,2);

    str_aae045 varchar2(6);

    interest_year number;

    sum_money number(12,2);

    total_money number(12,2);

    cur_time varchar2(50);

    CURSOR CUR_AAC001  IS

    SELECT DISTINCT AAC001 FROM IC40 ;

    cursor cur_lixi is

    select aac001,aae045,aic410,aic412,aic413 from ic40 where aac001=str_aac001;

    begin

    --删除数据

    execute immediate 'truncate table v1_yanglao_zhye';

    cur_time:=to_char(sysdate,'yyyymm');

    open cur_aac001;

    loop

    fetch cur_aac001 into str_aac001;

    -- sum_money:=0;

    total_money:=0;

    exit when CUR_AAC001%notfound;

    open cur_lixi;

    loop

    fetch cur_lixi into str2_aac001,str_aae045,num_aic410,num_aic412,num_aic413; --日期类型错误?

    exit when cur_lixi%notfound;

    sum_money:=num_aic410+num_aic412+num_aic413;

    while to_date(str_aae045,'yyyymm')

    loop

    select aia001 into interest_year from aa03

    where aae001=case

    when to_number(substr(str_aae045,1,4))>=7 then to_number(substr(str_aae045,1,4))

    else to_number(substr(str_aae045,1,4))-1 end;

    sum_money:=sum_money*(1+interest_year/12);

    str_aae045:=to_char(add_months(to_date(str_aae045,'yyyymm'),1),'yyyymm');

    end loop;

    total_money:=total_money+sum_money;

    end loop;

    close cur_lixi;

    insert into v1_yanglao_zhye select t2.AAC001 ,t2.AAB001 ,t2.AAC003 ,t2.aac004 ,t2.akc020 ,t2.AAC002 ,

    total_money ,count(aae003)  ,max(aae003)  from ic40 t1,ac01 t2 where t2.AAC001=t1.aac001

    and t2.aac001=str_aac001

    group by t2.AAC001,t2.AAC003,t2.aac004,t2.AAB001,t2.akc020,t2.AAC002 ;

    commit;

    end loop;

    close CUR_AAC001;

    --aa03.aia001养老记账利率

    end prc_yanglaolixi;

    更多相关内容
  • 其实这个问题是以前同一个客户遇见的问题,当时一个工程师解决后记录的过程如下:应用同事反映但是对应到执行存储过程,执行了2,3个小时了,还没出来结果。存储过程主要是执行一条update sql语句,单独将语句拿出来...

    其实这个问题是以前同一个客户遇见的问题,当时一个工程师解决后记录的过程如下:

    应用同事反映但是对应到执行存储过程,执行了2,3个小时了,还没出来结果。

    存储过程主要是执行一条update sql语句,单独将语句拿出来,clp命令行执行很快,2-3s即可执行完成。

    执行的SP:

    call pdw.P_OCS_ACTIVE_UPDATE('20120304',?)

    存储过程主要业务SQL:

    /***********************开始实现业务******************************/

    /*******/

    SET vn_Step=1;--

    call papp.p_debug(txdate,vn_PrcName,vn_Step,vv_sql); --

    UPDATE PODS.T_ODS_PAR_CUSTMSG a

    SET run_code='UU'

    WHERE sm_code in ('o3','os','om','ol','ox') AND NOT EXISTS

    (SELECT * FROM PODS.T_ODS_PAR_OCSACTIVEMSG b where a.ID_NO=b.ID_NO );

    COMMIT;--

    /************************结束业务逻辑******************************/

    根据了解,这个存储过程有些时候了,最近无改动,以前都正常。

    根据具体情况,第一反应是这个存储过程中语句的执行计划不正确了。静态sql的访问计划是在第一次编译后存储在数据库的包中的,之后运行都是使用包中的执行计划。解决办法很简单,对存储过程包重新绑定一下,使用最新的数据库统计信息生成最新的访问计划。

    先查出此存储过程对应的包:

    SELECT   bname,

    pkgname,

    BSCHEMA

    FROM     syscat.packagedep

    WHERE    btype='T'

    AND      pkgname in(select bname from sysibm.sysdependencies where dname in (select specificname from syscat.procedures where procname='P_OCS_ACTIVE_UPDATE'

    AND PROCSCHEMA='PDW'))

    [DWE3:/tmp]db2 "SELECT   bname,

    >          pkgname,

    >          BSCHEMA

    > FROM     syscat.packagedep

    > WHERE    btype='T'

    > AND      pkgname in(select bname from sysibm.sysdependencies where dname in (select specificname from syscat.procedures where procname='P_OCS_ACTIVE_UPDATE'

    >         AND PROCSCHEMA='PDW'))

    > "

    BNAME                         BSCHEMA

    --------------------------------------------------------------------------------

    T_ODS_PAR_CUSTMSG             P8414315                             PODS

    T_ODS_PAR_OCSACTIVEMSG        P8414315                             PODS

    2 record(s) selected.

    对包执行rebind,操作前需连库

    [DWE3:/tmp]time db2 rebind package pdw.P8414315

    DB20000I  The REBIND PACKAGE command completed successfully.

    real    0m0.63s

    user    0m0.02s

    sys     0m0.00s

    对存储过程包重新绑定后,存储过程几秒钟即执行完成,恢复正常。

    拿出sql单独执行计划:

    [DWE3:/newdb2home/db2inst3/fengsh]more 2.out

    DB2 Universal Database Version 9.1, 5622-044 (c) Copyright IBM Corp. 1991, 2006

    Licensed Material - Program Property of IBM

    IBM DB2 Universal Database SQL and XQUERY Explain Tool

    ******************** DYNAMIC ***************************************

    ==================== STATEMENT ==========================================

    Isolation Level          = Cursor Stability

    Blocking                 = Block Unambiguous Cursors

    Query Optimization Class = 5

    Partition Parallel       = Yes

    Intra-Partition Parallel = No

    SQL Path                 = "SYSIBM", "SYSFUN", "SYSPROC", "SYSIBMADM",

    "DB2INST3"

    Statement:

    UPDATE PODS.T_ODS_PAR_CUSTMSG a SET run_code='UU'

    WHERE sm_code in ('o3' , 'os' , 'om' , 'ol' , 'ox' )AND NOT EXISTS

    (SELECT *

    FROM PODS.T_ODS_PAR_OCSACTIVEMSG b

    where a.ID_NO=b.ID_NO )

    Section Code Page = 1386

    Estimated Cost = 1512832.000000

    Estimated Cardinality = 183703.968750

    Coordinator Subsection - Main Processing:

    Distribute Subsection #1

    |  Broadcast to Node List

    |  |  Nodes = 1, 2, 3, 4, 5, 6, 7

    Subsection #1:

    Access Table Name = PODS.T_ODS_PAR_OCSACTIVEMSG  ID = 11,3174

    |  #Columns = 1

    |  Skip Inserted Rows

    |  Skip Deleted Rows

    |  Relation Scan

    |  |  Prefetch: Eligible

    |  Lock Intents

    |  |  Table: Intent Share

    |  |  Row  : Next Key Share

    |  Sargable Predicate(s)

    |  |  Process Build Table for Hash Join

    Anti Left Outer Hash Join

    |  Early Out: Single Match Per Outer Row

    |  Estimated Build Size: 7584000

    |  Estimated Probe Size: 6960000

    |  Access Table Name = PODS.T_ODS_PAR_CUSTMSG  ID = 11,155

    |  |  #Columns = 3

    |  |  Skip Inserted Rows

    |  |  Skip Deleted Rows

    |  |  Evaluate Block/Data Predicates Before Locking Row

    |  |  Relation Scan

    |  |  |  Prefetch: Eligible

    Isolation Level: Read Stability

    |  |  Lock Intents

    |  |  |  Table: Intent Exclusive

    |  |  |  Row  : Update

    |  |  Sargable Predicate(s)

    |  |  |  #Predicates = 1

    |  |  |  Process Probe Table for Hash Join

    Establish Row Position

    |  Access Table Name = PODS.T_ODS_PAR_CUSTMSG  ID = 11,155

    Update:  Table Name = PODS.T_ODS_PAR_CUSTMSG  ID = 11,155

    End of section

    Optimizer Plan:

    UPDATE

    (   2)

    /---------/      \

    FETCH                 Table:

    (   3)                PODS

    /-------/      \               T_ODS_PAR_CUSTMSG

    HSJOIN            Table:

    (   4)            PODS

    /---/      \--\        T_ODS_PAR_CUSTMSG

    TBSCAN               TBSCAN

    (   5)               (   6)

    |                    |

    Table:             Table:

    PODS               PODS

    T_ODS_PAR_CUSTMSG  T_ODS_PAR_OCSACTIVEMSG

    rebind后存储过程中此update语句执行计划:

    db2expln -d newdssdb -g -c pdw -p P8414315 -s 0 -t>2.explain_rebind

    -------------------- SECTION ---------------------------------------

    Section = 8

    Statement:

    UPDATE PODS.T_ODS_PAR_CUSTMSG A

    SET RUN_CODE='UU'

    WHERE

    SM_CODE in ('o3' , 'os' , 'om' , 'ol' , 'ox' )AND NOT

    EXISTS

    (SELECT *

    FROM PODS.T_ODS_PAR_OCSACTIVEMSG B

    where A.ID_NO=B.ID_NO )

    Section Code Page = 1386

    Estimated Cost = 1512832.000000

    Estimated Cardinality = 183703.968750

    Coordinator Subsection - Main Processing:

    Distribute Subsection #1

    |  Broadcast to Node List

    |  |  Nodes = 1, 2, 3, 4, 5, 6, 7

    Subsection #1:

    Access Table Name = PODS.T_ODS_PAR_OCSACTIVEMSG  ID = 11,3174

    |  #Columns = 1

    |  Skip Inserted Rows

    |  Skip Deleted Rows

    |  Relation Scan

    |  |  Prefetch: Eligible

    |  Lock Intents

    |  |  Table: Intent Share

    |  |  Row  : Next Key Share

    |  Sargable Predicate(s)

    |  |  Process Build Table for Hash Join

    Anti Left Outer Hash Join

    |  Early Out: Single Match Per Outer Row

    |  Estimated Build Size: 7584000

    |  Estimated Probe Size: 6960000

    |  Access Table Name = PODS.T_ODS_PAR_CUSTMSG  ID = 11,155

    |  |  #Columns = 3

    |  |  Skip Inserted Rows

    |  |  Skip Deleted Rows

    |  |  Evaluate Block/Data Predicates Before Locking Row

    |  |  Relation Scan

    |  |  |  Prefetch: Eligible

    Isolation Level: Read Stability

    |  |  Lock Intents

    |  |  |  Table: Intent Exclusive

    |  |  |  Row  : Update

    |  |  Sargable Predicate(s)

    |  |  |  #Predicates = 1

    |  |  |  Process Probe Table for Hash Join

    Establish Row Position

    |  Access Table Name = PODS.T_ODS_PAR_CUSTMSG  ID = 11,155

    Update:  Table Name = PODS.T_ODS_PAR_CUSTMSG  ID = 11,155

    End of section

    Optimizer Plan:

    UPDATE

    (   2)

    /---------/      \

    FETCH                 Table:

    (   3)                PODS

    /-------/      \               T_ODS_PAR_CUSTMSG

    HSJOIN            Table:

    (   4)            PODS

    /---/      \--\        T_ODS_PAR_CUSTMSG

    TBSCAN               TBSCAN

    (   5)               (   6)

    |                    |

    Table:             Table:

    PODS               PODS

    T_ODS_PAR_CUSTMSG  T_ODS_PAR_OCSACTIVEMSG

    展开全文
  • mysql存储过程的解决方法:首先打开my.cnf配置文件;然后添加配置【long_query_time=1】;接着通过【tail -f /tmp/logs/mysqld.log】命令监控sql;最后进行针对性的优化即可。解决方法:(推荐教程:mysql视频...

    mysql存储过程太慢的解决方法:首先打开my.cnf配置文件;然后添加配置【long_query_time=1】;接着通过【tail -f /tmp/logs/mysqld.log】命令监控sql;最后进行针对性的优化即可。

    2020092714424240224.jpg

    解决方法:

    (推荐教程:mysql视频教程)

    第一步:修改/etc/my.cnf文件,找到[mysqld] 里面加入#执行的sql

    log=/tmp/logs/mysqld.log

    #记录sql执行超过下面设置时间的sql

    log-slow-queries = /tmp/mysqlslowquery.log

    #执行时间大于等于1秒

    long_query_time = 1

    然后你可以tail -f /tmp/logs/mysqld.log 监控所有执行的sql,同样的方法可以监控mysqlslowquery.log 为执行时间超过long_query_time = 1(秒)的sql语句

    比如通过第一步我们找到了某一个mysql 自定义函数执行慢func_getDevice(); 执行了15s,但并不知道这个方法里面到底是那一条sql影响了性能,那么就有了第二步。

    第二步:进入mysql命令行,输入mysql> set profiling=1;

    mysql> select func_getDevice(1);

    mysql> show profiles;

    +----------+------------+-----------------------+

    | Query_ID | Duration | Query |

    +----------+------------+-----------------------+

    | 1 | 0.00250400 | select * from TDevice |

    +----------+------------+-----------------------+

    1 row in set (0.00 sec)

    这时候你就会看到一个详细的sql执行列表,但默认只记录15条sql,如果方法里面的sql比较多,那么可以通过设置mysql> set profiling_history_size=20;

    mysql> show variables like 'profiling%';

    +------------------------+-------+

    | Variable_name | Value |

    +------------------------+-------+

    | profiling | ON |

    | profiling_history_size | 15 |

    +------------------------+-------+

    2 rows in set (0.00 sec)

    mysql> select func_getDevice(1);

    mysql> show profiles;

    这是时候就可以准确的看到是那一条sql语句影响了性能,比如 Query_ID=1 select * from TDevice 影响了性能;mysql> show profile for query 1;详细查看执行一条sql的耗时情况

    +--------------------------------+----------+

    | Status | Duration |

    +--------------------------------+----------+

    | (initialization) | 0.000003 |

    | checking query cache for query | 0.000042 |

    | Opening tables | 0.00001 |

    | System lock | 0.000004 |

    | Table lock | 0.000025 |

    | init | 0.000009 |

    | optimizing | 0.000003 |

    查看表的索引等是否合理,通过针对性的优化以提高效率。

    相关推荐:php培训

    展开全文
  • SQL Server中存储过程比直接运行SQL语句的原因
  • oracle 存储过程执行 单独执行sql快

    千次阅读 2020-12-19 20:52:26
    直到我去实习了,在优化的过程中,才发现自己很无知,知识很局限。为此... 文章 优惠券发放 2018-12-01 1812浏览量 MYSQL MyISAM表锁 锁是计算机协调多个进程或线程并发访问某一资源的机制 。在数据库中,除传统的 ...

    优化器

    Oracle 的优化器(Optimizer)实际上是数据库环境的参数设置。可以在INITsid.ORA 文件内的

    OPTIMZER_MODE=RULE 或OPTIMZER_MODE=COST 或OPTIMZER_MODE=CHOOSE 来

    设置优化目标。用户也可以在会话和查询方式下更改优化器的默认...

    文章

    eric0435

    2016-05-13

    1683浏览量

    我必须得告诉大家的MySQL优化原理(2)

    在可以思考一个问题,如果数据量非常大的情况下,您根据业务选择了合适的字段,精心设计了表和索引,还仔细的检查了所有的SQL,并确认已经没什么问题,但性能仍然不能满足您的要求,该怎么办呢?还有其他优化策略吗?答案是肯定的。

    接下来继续和您讨论一些常用的MySQL高级特性以及其背后的工作原理。

    分区表合...

    文章

    技术小能手

    2018-07-18

    2341浏览量

    管理Oracle实例

    前言

    正常生产环境下往往是通过应用服务器来与Oracle数据库相连接,大多数使用Oracle的开发语言以Java为主,针对于Java的中间件有很多,我们这里具体来看一下Oracle整体产品线的WLS产品

    安装Weblogic

    执行上图所示命令,启动WLS安装页面

    在欢迎页面中点击下一步继续

    ...

    文章

    技术小甜

    2017-11-15

    1039浏览量

    阿里云爆款特惠专场,精选爆款产品低至0.95折!

    爆款ECS云服务器8.1元/月起,云数据库低至1.5折,限时抢购!

    广告

    从Oracle迁移到MySQL的各种坑及自救方案

    讲师介绍  冯帅

    点融网高级DBA

    获有Oracle OCM、MySQL OCP,目前从事MySQL相关的运维和架构工作,擅长异构数据库交互。

    当企业内部使用的数据库种类繁杂时,或者有需求更换数据库种类时,都可能会做很多数据迁移的工作。有些迁移很简单,有些迁移可能就会很复杂,大家有没有...

    文章

    稀奇古怪

    2017-05-17

    2492浏览量

    从Oracle迁移到MySQL的各种坑及自救方案

    当企业内部使用的数据库种类繁杂时,或者有需求更换数据库种类时,都可能会做很多数据迁移的工作。有些迁移很简单,有些迁移可能就会很复杂,大家有没有考虑过为了顺利完成复杂的数据库迁移任务,都需要考虑并解决哪些问题呢?

    在以前的工作中,我迁移过Oracle到Informix、Oracle和SQLSer...

    文章

    技术小美

    2017-11-13

    1312浏览量

    前沿 | VLDB 2019论文解读:阿里巴巴大规模、海量数据实时分析型数据库系统——AnalyticDB

    前言

    一年一度的数据库领域顶级会议VLDB 2019于美国当地时间8月26日-8月30日在洛杉矶召开。在本届大会上,阿里云数据库产品团队多篇论文入选Research Track和Industrial Track。

    本文将对入围Industrial Track的论文《AnalyticDB: R...

    文章

    Roin123

    2019-08-30

    2400浏览量

    RMAN 初学者入门

    本文转自网络,地址不详。

    这篇文章是去年写的了,最初发表在chinaunix.net的oracle论坛里,收录在旧版文集中,可能很多没有看到,总有人写信要,今天乘改版之际就把它单独拿出来了。

    RMAN(RecoveryManager)是DBA的一个重要工具,用于备份、还原和恢复oracle数据...

    文章

    长烟慢慢

    2011-10-09

    973浏览量

    前沿 | VLDB论文解读:阿里云超大规模实时分析型数据库AnalyticDB

    前言

    一年一度的数据库领域顶级会议VLDB 2019于美国当地时间8月26日-8月30日在洛杉矶召开。在本届大会上,阿里云数据库产品团队多篇论文入选Research Track和Industrial Track。

    本文将对入围Industrial Track的论文《AnalyticDB: R...

    文章

    Roin123

    2019-09-02

    1277浏览量

    Oracle ASM 详解

    ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也是由实例和文件组成, 也可以通过sqlplus 工具来维护。

    ASM 实例的创建和删除也可以用DBCA 这个命令来操...

    文章

    技术小美

    2017-11-12

    549浏览量

    oracle 索引基本原理

    一.索引基本概念

    oracle提供了两种方式:从表中读取所有行(即全表扫描),或者通过ROWID一次读取一行。

    如果只访问大数据量表中的5%的行,并且使用索引标识需要读取的数据块,这样话费的I/O较少.

    索引对性能改进的程度:1.取决于数据的选择性 2.数据在表的数据块中的分布方式

    当数据分...

    文章

    技术小胖子

    2017-11-22

    1096浏览量

    oracle ASM

    ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也是由实例和文件组成, 也可以通过sqlplus 工具来维护。

    ASM 实例的创建和删除也可以用DBCA 这个命令来操...

    文章

    余二五

    2017-11-22

    951浏览量

    mysql各种引擎对比、实战

    1)存储引擎概述;

    (2)MySQL各大存储引擎;

    (3)InnoDB和MyIsam使用及其原理对比;

    (4)InnoDB和MyIsam引擎原理;

    (5)剩余引擎的使用DEMO(主要是Mrg_Myisam分表);

    文章目录:(例子下载在最下方)

    (1)存储引擎概述

    为什么要合理选择数据库存储...

    文章

    sunsky303

    2018-01-12

    1271浏览量

    磁盘安装启动的方法与ASM

    1.可用的raid级别

    raid0

    raid1

    raid5

    raid10   比raid 01好

    raid100  这种raid级别优点主要是:改进随机读的性能和消除热点

    2.更新的raid5

    尽管raid5是一种廉价的冗余方案,但它对于写入密集型操作的性能较差。

    当对raid...

    文章

    技术小胖子

    2017-11-15

    1021浏览量

    MySQL优化系列(五)--数据库存储引擎(主要分析对比InnoDB和MyISAM以及讲述Mrg_Myisam分表)

    MySQL优化系列(五)--数据库存储引擎(主要分析对比InnoDB和MyISAM以及讲述Mrg_Myisam分表)

    之前一直是使用默认MySQL的InnoDB存储引擎,没有思考过为什么使用,也没思考过其优缺和其他数据库存储引擎。直到我去实习了,在优化的过程中,才发现自己很无知,知识很局限。为此...

    文章

    优惠券发放

    2018-12-01

    1812浏览量

    MYSQL MyISAM表锁

    锁是计算机协调多个进程或线程并发访问某一资源的机制 。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。 从这个角度来说,锁...

    文章

    航空母舰

    2016-05-12

    1724浏览量

    ORACLE体系结构-真正的数据库-文件系统

    前面文章,对于ORACLE部分前面主要阐述的是INSTANCE实例内部的一些东西,主要从共享池、数据缓冲区两大块去讲解,其实对于细节的说明还有一些知识点,如RMAN中的大池应用或PGA中的后台线程会在后面逐步说明,本文以ORACLE物理结构来讲解点点物理层的东西,其实这也是真正的数据库了,其余的都...

    文章

    钟隐

    2010-06-11

    1630浏览量

    Oracle数据库备份与恢复的三种方法

    转自blueskys567原文Oracle数据库备份与恢复的三种方法, 2006-10.

    有删改

    Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。

    导出备件是一种逻辑备份,冷备份和热备份是物理备份。

    一、 导出/导入(Export/Impor...

    文章

    橘子红了呐

    2017-11-11

    1137浏览量

    我的MYSQL学习心得(十四) 备份和恢复

    这一篇《我的MYSQL学习心得(十四)》将会讲解MYSQL的备份和恢复

    MYSQL里的备份分为逻辑备份和物理备份,还原的时候同样分逻辑还原和物理还原

    备份

    逻辑备份方法

    使用MYSQLDUMP命令备份

    MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具。mysqldump命令执行...

    文章

    skyme

    2016-05-05

    2395浏览量

    [转载]聊聊Greenplum的那些事

    原文

    http://dbaplus.cn/news-21-341-1.html

    聊聊Greenplum的那些事

    李巍 2016-04-01 14:15:00 1024

    开卷有益——作者的话

    有时候真的感叹人生岁月匆匆,特别是当一个IT人沉浸于某个技术领域十来年后,蓦然回首,...

    文章

    德哥

    2016-07-11

    6805浏览量

    轻量级数据库中间件利器Sharding-JDBC深度解析(有彩蛋)

    讲师介绍

    张亮

    当当架构部总监

    负责分布式中间件和私有云平台建设

    目前主导开源项目:Elastic-Job及Sharding-JDBC

    主题简介:

    1、关系型数据库中间件核心功能介绍

    2、Sharding-JDBC架构及内核解析

    3、Sharding-JDBC未来展望

    一、...

    文章

    行者武松

    2017-08-02

    1199浏览量

    Oracle数据库备份与恢复的三种方法

    Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。

    一、 导出/导入(Export/Import)

    利用Export可将数据从数据库中提取出来,利用Import则可将提取出来...

    文章

    科技小先锋

    2017-11-15

    1034浏览量

    数据库产品事业部月刊(2020.3-4)

    一、重大事件

    1、飞刀接受印度知名IT媒体专访:阿里云的目标是实现数据库的完全自动化和智能化

    阿里云云原生数据库PolarDB和云原生数据仓库AnalyticDB在印度正式上线,当地知名的IT媒体YourStory对阿里云智能数据库事业部总负责人李飞飞博士进行了专访。

    在采访中李飞飞表示,随着计算...

    文章

    Roin123

    2020-05-29

    344浏览量

    带你读《HikariCP数据库连接池实战》之二:数据库连接池江湖

    点击查看第一章点击查看第三章第2章

    数据库连接池江湖

    本章将为读者介绍数据库连接池的一些基础概念。数据库连接池涉及的概念很多,这里介绍的是我认为在企业应用开发中非常基础和重要的概念。数据库连接的建立是一种耗时长、性能低、代价高的操作,频繁地进行数据库连接的建立和关闭会极大影响系统的性能,若多线程并...

    文章

    被纵养的懒猫

    2019-11-08

    1712浏览量

    2020这一年总结出来的Java面试题,常频面试题大汇总~

    面试就是大家身边总是存在各种各样的可能,而自身又具备这样的能力,就忍不住想试一试,尤其是到了年关,是一个好的蓄势并且认真积累的阶段。当然面试套路众多,但对于技术面试来说,主要是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。

    “面试造火箭,工作拧螺丝...

    文章

    游客jky5slpogbcdo

    2020-12-12

    7浏览量

    吃透Mysql

    Mysql概述

    数据库是一个易于访问和修改的信息集合。它允许使用事务来确保数据的安全性和一致性,并能快速处理百万条以上的数据。数据库一般可以用如下图形来理解:

    数据库功能模块图

    数据库是由多种互相交互的组件构成的。大致可以分为三层,最上层是面向用户的组件:查询管理器、数据管理器、工具包...

    文章

    彦帧要努力

    2018-09-02

    1064浏览量

    系统架构-基础篇-(高性能基础建设说明与选型条件)

    本文牵扯的面积可能会比较泛,或者说比较大,在这个层面很多人也有自己的见解,所以我这也仅仅是抛砖引玉,结合前面讲述的一些基础技术,从思想中阐述更为深入的架构思想基础,因为最好的架构思想是架构师结合实际情况思考出来最适合的架构,这里仅仅说明下一些常用的原理和思想,主要包含的内容有(内容很泛,所以都是简...

    文章

    钟隐

    2011-05-15

    1599浏览量

    [译] 系统设计入门 | 掘金翻译计划

    本文讲的是[译] 系统设计入门 | 掘金翻译计划,

    展开全文
  • 最近遇到开发反馈一个执行将近2天的存储过程,需要分析的原因。查询和咨询了大家一些定位方法,汇总记录一下。 一、 存储过程中加入计时代码 原始的分析方法,适用于较简单、性能要求不太高的存储过程场景。在...
  • 今天一个生成10w条数据...会为该存储过程生成一个基于输入参数的执行计划,因此如果第一次输入的参数不具有代表性(例如大部分查询输入的参数都是A值,但第一次执行存储过程时输入的是B值),就有可能比即席查询,尽...
  • 第一种情况是返回的游标是某个具体的表或视图的数据,如: SQL-Code: 代码如下: CREATE OR REPLACE PROCEDURE P_TESTA ( PRESULT OUT SYS_REFCURSOR ) AS BEGIN OPEN PRESULT FOR SELECT * FROM USERS;...
  • 问题一:存储过程放在查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时 1. 将该存储过程放到查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时; 2.经查阅...
  • sqlserver存储过程执行变

    千次阅读 2019-12-03 13:32:16
    项目使用的是sqlserver数据库,每运行一段时间存储过程就会变,同一个存储过程,在传入不同参数的情况下,有的情况下执行快,有的执行。莫名其妙,一直找不到原因, 后来每次变手动编译存储过程, sp_...
  • SQL Server在存储过程执行之前都会制定一个执行计划。在上面的例子中,SQL在编译的时候并不知道@thedate的值是多少,所以它在执行执行计划的时候就要进行大量的猜测。假设传递给@thedate的参数大部分都是非空字符串...
  • 存储过程执行的原因

    千次阅读 2019-05-16 11:17:00
    存储过程执行很,单独拎出来执行就很快1.一开始是直接写的存储过程,然后执行,卡了很久,大概10分钟左右才执行出来2.后面我尝试将插入的数据插入到临时表中,大概5秒就执行出来了3.但我发现,执行出来的结果跟我...
  • 1、使用不带参数的存储过程  使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列。不带参数的 call 转义序列的语法如下所示: {call procedure-name}  作为实例,在 SQL Server 2005 ...
  • 在2005之前的版本创建存储过程都是在数据库里面写Transact-SQL语言实现的,不过现在SQL Server 2005支持用其他面向对象的语言编写CLR存储过程了,关于这样做的好处,官方有很多解释了,这里就直接说明实现方法了。...
  • MySQL存储过程执行

    2021-01-25 20:49:08
    3.把存储过程里的查询单独拿出来查询速度很快,但是放在存储过程函数中就很。2.原因:数据库表中的字段是utf-8,而数据库字符集后来改成了utf8mb4。存储过程中定义参数时,没有指定字符集,会默认读取创建存储过程...
  • 问题描述:开发了一个功能,因数据关联比较复杂,所以写了存储过程。  查询1万多条数据:在数据库直接执行存储过程耗时2秒,在测试系统运行,也是3、5秒就显示结果了。  发布到正式系统,发现运行非常非常(5...
  • 提高存储过程执行效率

    千次阅读 2020-12-29 06:41:03
    曾经发现这样一种情况,存储过程中的语句提取出来单独执行很快,但在存储过程中执行就很。----************* 存储过程中的语句,变量为 avc_acct_monthSELECT 2101,B.BUNDLE,COUNT( Distinct CASE WHEN (substr...
  • 解决方案: 1. 生成存储过程的时候,在as前加入WITH RECOMPILE,例如: create proc proc_name @variable1 nvarchar(50), ...2. 从程序中传入存储过程的参数不能有空值和NULL,如果有的话,在存储过程...
  • 主要介绍了Python使用cx_Oracle调用Oracle存储过程的方法,结合具体实例分析了Python中通过cx_Oracle调用PL/SQL的具体步骤与相关操作技巧,需要的朋友可以参考下
  • 通过查找资料,我了解到存储过程是预编译的,存储过程在上一次执行过程中就生成了最优的执行计划并将之缓存起来,后面我们再继续调用该存储过程都是用的该缓存的执行计划,而随着数据的变化和数据量的增加,该缓存...
  • SQL语句直接执行和在存储过程中速度的问题......同一个SQL语句,放在存储过程中执行比直接执行差了100倍以上的速度,很不解啊...这个有什么具体的方法来优化么?数据库版本是9i......貌似在10g上就没这么大差别..但是...
  • MS SQL Server 执行存储过程比执行相同SQL语句的问题,试试两个方法: 1,重启SQL Server 。不知道具体原因,但有时管用。 2,如果上面步骤没有效果,那么可能是Parameter sniffing问题。在过程里面把参数值赋给...
  • 在该存储过程中执行了四条查询,一条insert:.........................给up1,up2,up3,strday赋值select nvl(sum(zzf),0),count(qdhm) into s1,s2 from tk_gjsj where ((zldm = '332') or (zldm = '342')) and (hthm...
  • create procedure assignOrder(in userId BIGINT,in arrangBy BIGINT,in meg VARCHAR(1000),out count BIGINT) ...第二个update太的缘故还是,什么缘故,反正存储过程执行结果,但是第二个update没有任何效果
  • 使用oracle开发的时候,如果在存储过程中,或者是其他代码中使用了drop语句删除大量表,容易在回收站中产生垃圾,DBA会投诉,所以不要这样做,如果确定了要drop表,则最好加上purge,但是要慎用,因为无法闪回 ...
  • oracle 批量插入数据存储过程。亲测好用。支持 plsql ,toad,等数据库分析软件。主要包括变量的定义,循环及游标的使用等, 亲测好用
  • 如果语句单独执行很快,但是放到存储过程中很,那可能是执行计划搞的鬼试试 WITH RECOMPILE
  • 将会影响以后的系统维护困难和大存储过程逻辑的难以理解,另外如果数据库的数据量大或者项目对存储过程的性能要求很,就会遇到优化的问题,否则速度有可能很,经过亲身经验,一个经过优化过的存储过程要比一个性能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 422,155
精华内容 168,862
关键字:

存储过程慢

友情链接: 交通灯.zip