待性能改善的一个SQL

select /*+index(ttjid IX_TB_TK_JISSEKI_DETAIL_06_FK)*/
  ttbi.tk_np_sha_code AS tkNpShaNameRyaku,
‘2015/05‘ AS uriageNengetsu,
ttjid.uriage_bu_ka_code AS uriageBuKaCode,
ttjid.Gyosyu_MCode AS gyosyuMcode,
ttjid.adv_nushi_code AS advNushiCode,
ttjid.Gyosyu_SCode AS gyosyuScode,
(select tsar.Shukei_Group_Code
from tb_shukei_adv_relation tsar
where ttbi.adv_baitai_bunrui_code = tsar.adv_baitai_bunrui_code
AND tsar.shukei_group_code IN
(‘001010‘, ‘001020‘, ‘011010‘, ‘011020‘, ‘011030‘)
and rownum = 1) AS shukeiGroupCode,
ttbi.adv_baitai_bunrui_code AS advBaitaiBunruiCode,
ttbi.tk_np_sha_code AS tkNpShaCode,
ROUND(COALESCE(SUM(ttjid.kansan_dansu), 0) / 1000, 3) AS dansuSum
from TB_TK_BAITAI_INFO ttbi, TB_TK_JISSEKI_INFO_DETAIL ttjid
where ttbi.ksai_sha_code = SUBSTR(‘120‘, 1, 1)
AND ttbi.keisai_jisseki_mngr_num = ttjid.keisai_jisseki_mngr_num
AND ttbi.finish_state_code = ‘1‘
-- AND ttjid.del_flg = ‘0‘
AND ttjid.uriage_bu_ka_code = ‘120‘

AND ttjid.Gyosyu_MCode IN (‘20‘, ‘21‘, ‘22‘, ‘23‘, ‘24‘, ‘25‘, ‘26‘)

AND ttjid.Gyosyu_SCode IN
(‘10‘, ‘12‘, ‘13‘, ‘14‘, ‘16‘, ‘15‘, ‘19‘, ‘20‘, ‘18‘, ‘21‘, ‘23‘, ‘22‘, ‘25‘, ‘24‘, ‘27‘, ‘28‘, ‘26‘, ‘29‘)

AND ttbi.tk_np_sha_code IN (‘N003‘, ‘N004‘)

AND ttbi.del_flg = ‘0‘
AND to_char(ttbi.ksai_date, ‘YYYYMM‘) =
to_char(add_months(to_date(‘2015/05‘, ‘YYYY/MM‘), -12), ‘YYYYMM‘)
GROUP BY ttjid.uriage_bu_ka_code,
ttjid.Gyosyu_MCode,
ttjid.adv_nushi_code,
ttjid.Gyosyu_SCode,
ttbi.adv_baitai_bunrui_code,
ttbi.tk_np_sha_code
order by ttbi.tk_np_sha_code

时间: 2024-07-30 18:27:37

待性能改善的一个SQL的相关文章

性能改善后复杂SQL

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="jp.co.asahi_np.biz.bbs.pcs.da

通过不同的条件组装 一个sql语句

通过不同的条件组装 一个sql语句题目要求:目前需要通过不同会员信息的条件,对会员进行高级查询,这个时候就需要对sql语句的组装工作.需要查询的条件有,会员编号,会员昵称,会员帐号,会员注册时间,会员性别,条件通过GET方式传递给程序,通过任意选择这些条件进行查询,得到相应的结果.参考:会员表为user_bas 及其字段结构:查询条件和数据库字段对应关系:会员编号:id :结构:smallint(6),查询为精确查询(比如:查询编号为1 2的会员)会员昵称:nickname:结构:varchar

Jquery 代码性能改善

从jquery官网看到的,简单翻译了一下,很常规的几个改善方法: 1:  在循环之外添加 (Append Outside of Loops) 比如代码1: 代码1清单: $.each( myArray, function( i, item ) { var newListItem = "<li>" + item + "</li>"; $( "#ballers" ).append( newListItem ); }); 由于D

数据库性能优化一:SQL索引一步到位

SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子: 图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排,b开头的在第二排,这样在找什么书就好说了,这个就是一个聚集索引,可是很多人借书找某某

一个SQL的几种写法

某天在某技术群看见有人发了这样一个图求助,一看就觉得这题考查的是利用sql行转列 我脑海第一时间就想到用oracle的decode函数来写,但又想到题目没有具体说是哪一种数据库~如果用decode的话,在mysql下是完全不一样的用法(也是因为这次我才知道mysql也有decode方法,但跟oracle的完全不一样,其他数据库暂没研究) 所以我就回复写了这样一个sql 初想的SQL¶ select t1.d,t1.c1 '胜',t2.c2 '负' from (select count(resul

SqlServer 中如何查看某一个Sql语句是复用了执行计划,还是重新生成了执行计划

我们知道SqlServer的查询优化器会将所执行的Sql语句的执行计划作缓存,如果后续查询可以复用缓存中的执行计划,那么SqlServer就会为后续查询复用执行计划而不是重新生成一个新的执行计划,因为复用执行计划的性能比生成执行计划的性能要高很多,所以SqlServer的这一特性可以大大提高Sql语句的执行效率.特别是对于存储过程,因为存储过程的执行计划是在存储过程第一次执行的时候生成的,存储过程的执行计划生成后就会被缓存到SqlServer的执行计划列表中,如果以后存储过程再被执行,那么存储过

如何找出你性能最差的SQL Server查询

原文:如何找出你性能最差的SQL Server查询 我经常会被反复问到这样的问题:”我有一个性能很差的SQL Server.我如何找出最差性能的查询?“.因此在今天的文章里一些让你很容易找到问题答案的信息和向导. 问SQL Server! SQL Server的一个优点是它本身能回答几乎所有你的问题,因为SQL Server在各个DMV和DMF里存储了很多故障排除信息.另一方面这也是个缺点,因为你必须知道各个DMV/DMF,还有如何把它们解释和关联在一起. 至于你的最差性能SQL Server查

Oracle数据库该如何着手优化一个SQL

这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异.所以有时候我们应该先搞清楚需求到底是什么,SQL本身是否合理,这些思考很可能会使优化工作事半功倍.而本文是假设SQL本身合理,从Oracle提供给我们的一些技术手段来简单介绍下Oracle数据库,该如何使用一些现有的技术来优化一个SQL执行的性能. 确定需要优化的SQL文本及当前SQL执行计划 确定SQL涉及的所有表及其

性能调优之SQL优化

性能调优之SQL优化 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 如何加快查询速度? 1.升级硬件 2.根据查询条件,建立索引,优化索引.优化访问方式,限制结果集的数据量. 3.扩大服务器的内存 4.增加服务器CPU个数 5.对于大的数据库不要设置数据库自动增长,它会降低服务器的性能 6.在查询Select语句中用Where字句限制返