Projeto de Otimização de Performance e Redução de Custos. Sistema On-line. Empresa de Serviços



Documentos relacionados
Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Tuning para Desenvolvedores DB2

Linguagem SQL Sub-linguagem DDL

Dino SMART Production. Monitoração de Jobs da produçao do ambiente mainframe IBM

Declaração de Escopo. Projeto PDTI Informações Gerenciais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

W Projeto. Gerenciamento. Construindo a WBS e gerando o Cronograma. Autor: Antonio Augusto Camargos, PMP 1/12

ISO/IEC 12207: Gerência de Configuração

Comandos de Manipulação

Sobre a Prime Control

4 Implementação e Resultados Experimentais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Linguagem SQL Parte I

4o ENCONTRO DE USUÁRIOS DE BI

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Manter estatísticas atualizadas é uma das regras de ouro na busca por performance.

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UTILIZAÇÃO DA COMPETÊNCIA DE TI ATRAVÉS DE UM ABRANGENTE PLANEJAMENTO DE CAPACIDADE E MODELAGEM DE CARGAS DE TRABALHO

SQL Procedural. Josino Rodrigues Neto

SQL. Autor: Renata Viegas

Projeto de Banco de Dados: Empresa X

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

A metodologia proposta pela WEG para realizar este tipo de ação será apresentada a seguir.

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

RESUMO DA SOLUÇÃO Aperfeiçoando o planejamento de capacidade com o uso do gerenciamento de desempenho de aplicativos

Principais Instruções em SQL

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Linguagem de Consulta - SQL

Como montar o quebra-cabeças do backup? Ricardo Costa e Bruno Lobo Backup, Recovery & Archiving Solutions

Estratégia de Manutenção em Oficinas utilizando Caminho Critico

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC. Lara Pessanha e Vanessa Saavedra

Governança de T.I. Professor: Ernesto Junior Aula IV Unidade II

O e-docs foi testado e homologado pela Microsoft via certificadora internacional Verisign.

Banco de Dados. Prof. Antonio

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Jonas de Souza H2W SYSTEMS

SGBD. Funções Básicas de um SGBD

Treinamento sobre SQL

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

Políticas de Qualidade em TI

MANUAL DA QUALIDADE DA CONSTRUTORA COPEMA

Tuning e Self-Tuning de Bancos de Dados

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

PROPOSTA COMERCIAL. Caro cliente,

Linguagem de Consulta Estruturada SQL- DML

Revisão ISO ISO Sistema de Gestão Ambiental. DQS do Brasil Ltda. Página 1

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Consolidação inteligente de servidores com o System Center

EXERCÍCIOS PRÁTICOS. Banco de Dados

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

Overview Virtual TechKnowledge DBA Virtual DBA Virtual DBA Virtual on-demand DBA Virtual DBA Virtual DBA Virtual

Profº Aldo Rocha. Banco de Dados

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Desde 2004 atuamos neste ramo. Hoje, temos absoluta convicção de que ninguém faz tão rápido e com tanta eficiência este trabalho como nós.

A linguagem SQL

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

7 Pr gramaçã Otimizada

Serviços de Consultoria Sabre Travel Network

PROCESSO DE CONVERGÊNCIA DA CONTABILIDADE PÚBLICA MUNICIPAL. Parte 3 Procedimento Contábil da Reavaliação

Projeto de Banco de Dados

PLANEJAMENTO DE CAPACIDADE EM INFRA-ESTRUTURAS SUPORTADAS POR SERVIÇOS TERCEIRIZADOS DE REDE DE COMUNICAÇÃO DE DADOS

Gerenciamento de Problemas

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Guia de Recursos e Funcionalidades

T-SQL Mitos. Vamos criar uma tabela para os nossos exemplos e, em seguida, comparar planos de execução. Mãos à obra.

Importância da Comunicação Digital para o mercado corporativo

Corporativo. Transformar dados em informações claras e objetivas que. Star Soft.

Governança de TI 2011 Gestão de Mudanças

! " # $% & '(% ) %( * (+, -. $ )

Case Livraria Saraiva: Solução de Atendimento Multicanal e Internalização da Central de Atendimento

Qual servidor é o mais adequado para você?

NOME SEXO CPF NASCIMENTO SALARIO

Comandos DDL. id_modulo = id_m odulo

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35

Como implementar os processos de Gerenciamento de Demanda e Capacidade de serviços de TI.

FORMALIZAÇÃO DE EMPRESAS SEFAZ-SP 26/11/2012

Introdução ao SQL. Aécio Costa

SQL (Structured Query Language)

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

Tarefa Orientada 10 Obter informação a partir de uma tabela

Softwares Aplicativos Banco de Dados

LMA, Solução em Sistemas

Bases de Dados 2007/2008. Aula 1. Referências

Introdução. O Windows Server 2003 está dividido em quatro versões:

REGIMENTO INTERNO DA SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO SETIC CAPÍTULO I CATEGORIA

Gestão dos Prazos e Custos do Projeto

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

SQL (Structured Query Language)

Transcrição:

Projeto de Otimização de Performance e Redução de Custos Sistema On-line Empresa de Serviços

PROJETO DE OTIMIZAÇÃO Objetivo do Projeto Comprovar a viabilidade de ganhos de performance e redução de custos em ambiente Mainframe de um novo sistema de Call Center.

PROJETO DE OTIMIZAÇÃO Cenário Robô simulando carga de 100 usuários com alguns cenários similares ao ambiente de Produção.

PROJETO DE OTIMIZAÇÃO Premissas Focar sub-rotina XXX0024 Definir e utilizar processo não-intrusivo Aplicar processo de otimização Escolher pontos a otimizar Efetuar as alterações propostas Efetuar medições prévias e posteriores Apurar os ganhos

POC QC ADVISOR Desafios Redução do time to market Volume crescente de implantações Manter desempenho adequado Manter disponibilidade Otimização rápida

Cenário em Produção POC QC ADVISOR Ambiente Mainframe Z/OS Aplicações CICS, Cobol, DB2 Ambiente de Produção de 5000 MIPs

PROJETO DE OTIMIZAÇÃO Tópicos do Projeto Escopo e processo utilizado Descrição Macro Dados Obtidos Resultados Premissas para cálculo da economia de MIPS ROI

Escopo e processo utilizado Focar a sub-rotina XXX0024: a mais utilizada no online 62% do uso de CPU nos testes de stress do novo sistema Mais de 80 comandos SQL de difícil avaliação manual Provar que o processo é viável para todo workload em DB2

Processo Escolhido Geração de traces de performance do DB2 tendo como metas: evitar impacto de desempenho (amostragem) automação na análise dos traces detectar comandos de maior consumo extensa gama de informações propor alterações de índices (processo automático) propor otimizações de SQL de alto consumo

Descrição Macro Coletar amostras de traces de performance do DB2 Aplicar processo automático de análise dos traces Recomendar automaticamente índices e alterações Teste de stress da situação anterior Efetuar alterações, teste de stress e medições na situação nova

Dados Obtidos Tabelas mais acessadas e analisadas XXXXXRMT XXXXXCMT XXXXXAMT XXXXXOMT PROJETO DE OTIMIZAÇÃO Comandos de maior consumo (99%) Stmt: 5638 XXXXXRMT CUR_XXXXXRDV_SAD Stmt: 2835 XXXXXOMT CUR_CLI_AMBOS Stmt: 6869 XXXXXCMT CUR_IDPC_SAD Stmt: 7642 XXXXXCMT (select sem cursor) Stmt: 2776 XXXXXADV (select sem cursor)

Dados Obtidos PROJETO DE OTIMIZAÇÃO Solução Tabelas (recomendação automática) XXXXXRMT - ALTERAÇÃO DE 1 (UM) ÍNDICE XXXXXCMT - CRIAÇÃO DE 1 (UM) ÍNDICE XXXXXAMT - CRIAÇÃO DE 1 (UM) ÍNDICE XXXXXOMT - CRIAÇÃO / DELEÇÃO DE ÍNDICES Solução para otimizar comandos Ganho Previsto Stmt: 5638 (índice) < 80% Stmt: 2835 (índice/alterar SQL) < 10 a 50% Stmt: 6869 (índice) < 75% Stmt: 7642 (alterar SQL) < 60% Stmt: 2776 (índice / alterar SQL) < 80%

Resultados PROJETO DE OTIMIZAÇÃO OBJETO MENSURADO ANTES DEPOIS %REDUÇÃO TEMPO DE RESPOSTA MÉDIO 0,231 0,103 55% GRUPO DE TRN PE** 0,383 0,09 76% GRUPO DE TRN VI** 0,187 0,072 62% CPU TOTAL PQD0024 1224 3 99% Resultados permitiram revisão do capacity previsto para o sistema em 30%

Premissas para cálculo da economia de MIPS O processador do ambiente é de 215 MIPS O perfil da carga de transações do stress é similar ao da Produção O teste de stress foi executado em 51 minutos. (13h53 às 14h44) A CPU disponível para um processador seria de 51 minutos, ou 3.060 segundos CPU economizada após alterações: 1.221 segundos Economia em percentual: 39,9% (1221 segundos de 3.060 segundos) Economia em MIPS: 39,9% de 215 MIPS, ou 85,78 MIPS Usuários simultâneos: 100 Milhares de usuários simultâneos em Produção, maior economia

ROI ATRIBUTO Qtde de processadores MIPS por processador Custo por MIPS (US$) em cinco anos (suposição) Período (em anos) apuração do custo VALOR 1 215 27.000,00 5 Economia em CPU (minutos) (em 51 minutos do teste) Economia em tempo de resposta Máquina economizada (%) MIPS poupados (39,9% de 1 processador de 215 MIPS) US$ economizado anualmente (sem considerar nenhum crescimento anual de CPU) 20,35 55% 39,9% 85,78 463.212,00 Crescimento anual da CPU (%) - estimado 15%

PROJETO DE OTIMIZAÇÃO ECONOMIA EM 10 ANOS MIPS Acumulados (Crescimento anual da CPU de 15%) 350,00 300,00 250,00 Mips 200,00 150,00 100,00 50,00-1 2 3 4 5 6 7 8 9 10 Anos

PROJETO DE OTIMIZAÇÃO ECONOMIA EM 10 ANOS - VALOR (US$) (Crescimento anual da CPU de 15%) 10.000.000,00 9.000.000,00 8.000.000,00 7.000.000,00 6.000.000,00 5.000.000,00 4.000.000,00 3.000.000,00 2.000.000,00 1.000.000,00 0,00 1 2 3 4 5 6 7 8 9 10 Anos

PROJETO DE OTIMIZAÇÃO ECONOMIA EM 10 ANOS VALOR TOTAL US$ 9.404.925,93

Outros Ganhos Aplicar o processo no workload DB2 SQLs idênticos e similares consolidados Relacionamentos múltiplos Programas x Sub-Programas x Transações SQLs com scans detectados Indicar predicados candidatos a Índices Recomendações de Índices Problema Fatorial (Combinações) Previsão de ganhos Automação

Metodologias para otimização Tabelas DB2 mais acessadas Programas DB2 de maior consumo Transações DB2 com maior consumo Comandos SQL que mais consomem SLA - foco de estudos: On-line / Batch / horários específicos Maiores consumos de LOG do DB2 Sugestões de indíce em geral (por tabela, programas etc.)

Outras Considerações Método preventivo e pró-ativo Processo em Pré-Produção (Homologação) Detectar desvios de consumo Processo de análise de impacto Comparar histórico de planos de acesso Evitar as segundas-feiras de terror

Outros Ganhos Melhor atendimento Menor tempo de resposta proporciona melhor atendimento aos clientes da organização Estabilidade e Qualidade Ambiente otimizado proporciona maior estabilidade e qualidade tanto interna quanto externamente

POC QC ADVISOR Dúvidas? José Tito jose.tito@eccox.com.br Obrigado!

BACKUP TÉCNICO

Eccox/QC SQL Advisor RESUMO PROGRAMA PROGRAM NAME: xxx0024 ( %CPU-WKLD= 4.019946 ) ACCOUNTING DATA PERFORMANCE DATA -------------------------------------------- --------------------------------------------------------------- DB2_ELAP: 2,180.366448 DB2_ELAP: 19.559378 DB2_CPU : 630.375678 DB2_CPU : 1.181888 AVG_CPU : 0.596946 AVG_CPU : 0.000393 TOTAL EXECUTIONS : 3003 TOTAL_REOPT : 0 TOTAL_NOREOPT : 0 INDEX DATA SORT ROWS_SCAN_TBL_1 : 1,760 2,295 512 ROWS_SCAN_TBE_2 : 23 1,887 512 ROWS_QUAL_STAG_1 : 1,611 303 512 ROWS_QUAL_STAG_2 : 1,609 303 228 TOT_ROWS_INSERT : 0 0 1,038 TOT_ROWS_UPDATE : 0 0 0 TOT_ROWS_DELETE : 0 0 0 TOT_PAGE_SCAN : 4,345 2,191 2,956 TOT_PAGE_SCAN_RI : 0 0 0 TOT_PAGE_ROWS_DEL_RI: 0 0 0

Eccox/QC SQL Advisor RECOMENDAÇÃO DE ÍNDICES (TABELA XXXXXOMT) VOLUME: 343.279 REGISTROS COMBINAÇÕES TESTADAS: 2104 ESTIMATIVA MELHORA: 21,87 % Indices atuais: XXXXXOI1 - recomendacao: manter inalterado XXXXXOI1 - recomendacao: deletar XXXXXOI2 - recomendacao: manter inalterado XXXXXOI3 - recomendacao: manter inalterado XXXXXOI4 - recomendacao: deletar XXXXXOI5 - recomendacao: deletar XXXXXOI6 - recomendacao: deletar Indices novos: Criar 3 novos índíces

Eccox/QC SQL Advisor RECOMENDAÇÃO DE ÍNDICES (TABELA XXXXXCMT) VOLUME: 391.064 REGISTROS COMBINAÇÕES TESTADAS: 1564 ESTIMATIVA MELHORA: 11,58 % Índices atuais: XXXXXXOI1 - recomendacao: alterar XXXXXCI1 - recomendacao: manter inalterado Índices novos: Criar 5 novos índices

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 5638 tabela XXXXXRMT cursor: CUR_XXXXXRDV_SAD DB2 tempo sala: Custo Original: 98% tempo total 5 service units 6 ms (CPU) Solução: Alterar índice existente Novo Custo esperado: 1 service units (> 80%) 1 ms (CPU) (> 80%)

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 5638 tabela XXXXXRMT cursor: CUR_XXXXXRDV_SAD (cont) Texto SQL Original DECLARE CUR_PQPCDRDV_SAD CURSOR FOR SELECT PCD_COD_PRO_CMR_CD FROM ATISOWN.PQPCDRDV WHERE PCD_TIP_DIR_PRO_CD =? AND PCD_COD_DIR_CD =? AND PCD_COD_PRO_CMR_CD >=? AND PCD_FEC_INI_VIG_FF <= CURRENT_DATE AND PCD_FEC_FIN_VIG_FF >= CURRENT_DATE AND PCD_ITE_BAJ_SIS_TS IS NULL ORDER BY PCD_COD_PRO_CMR_CD OPTIMIZE FOR 1 ROW

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2835 tabela XXXXXOMT cursor: CUR_CLI_AMBOS DB2 elapsed medido: Custo Original (com Union): 40% tempo total (ou 1.7% - teste stress) 7 service units 8 ms (CPU) Solução: Diversas soluções foram encontradas

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2835 tabela XXXXXOMT cursor: CUR_CLI_AMBOS a) Soluções que não dependem da analise do código fonte: a.1) Continuar com Union e criar 2 novos indices (*) su: 6 CPU: 7 b) Soluções que dependem da analise do código fonte: b.1) Mudar para OR ao invés de Union, mas é necessário saber se PRC_COD_PRO_CMR_CD >=0 é utilizado se for, esta solução não é válida, pode causar oscilações tempo resposta su: 3 CPU: 3 (detalhe: usou técnica de interseção de índices e fez sort) b.2) idem a.1, mas modificando o SQL (ORDER e UNION) pode-se chegar a: su: 3 CPU: 3

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2835 tabela XXXXXOMT cursor: CUR_CLI_AMBOS Análise dos índices da tabela XXXXXOMT (342.279 regs) 1) Novo índice: ATISOWN. PQPRCOIA (único) PRC_COD_CLI_CD ASC (132.003) PRC_ITE_BAJ_SIS_TS ASC (1) PRC_COD_PRO_CMR_CD ASC (342.279) 2) Novo índice: ATISOWN. PQPRCOIB (único) PRC_COD_CLI_TIT_CD ASC (132.003) PRC_ITE_BAJ_SIS_TS ASC (1) PRC_COD_PRO_CMR_CD ASC (342.279)

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2835 tabela XXXXXOMT cursor: CUR_CLI_AMBOS Análise dos índices da tabela XXXXXOMT (343.279 regs) CREATE INDEX ATISOWN.XXXXXOI1 (PRC_TIP_PRO_CMR_CD ASC, (2) PRC_SBT_PRO_CMR_CD ASC) (16) CREATE UNIQUE INDEX ATISOWN.XXXXXOI4 (PRC_COD_CMR_PRN_CD ASC, (48) PRC_IND_CMR_GCO_IN ASC, (2) PRC_COD_PRO_CMR_CD ASC, (343.279) PRC_TIP_PRO_CMR_CD ASC, (2) PRC_SBT_PRO_CMR_CD ASC) (16) CREATE INDEX ATISOWN.XXXXXOI5 (PRC_COD_PET_CD ASC, (96) PRC_COD_AGR_SUB_NU ASC) 3 CREATE INDEX ATISOWN.XXXXXOI6 (PRC_CET_COS_CLI_CD ASC) (1)

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 6869 tabela XXXXXCMT cursor: CUR_IDPC_SAD DB2 elapsed medido: Custo Original: 10% tempo total (ou 1.5% - teste stress) 4 service units 5 ms (CPU) Solução: Criar índice novo ATISOWN. XXXXXCIC (não-único) XXXXXCMT (391.064) IDP_COD_PRO_CMR_CD ASC (343.279) IDP_ITE_BAJ_SIS_TS ASC (1) IDP_FEC_INI_VIG_FF DESC (14.800) IDP_FEC_FIN_VIG_FF ASC (7424) Novo Custo Esperado: 1 service units (> 75%) 1 ms (cpu) (> 75%)

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 7642 tabela XXXXXCMT cursor:(select sem cursor) DB2 elapsed medido: Custo Original: 50% tempo total (não localizado - teste stress) 5 service units 6 ms (CPU) Solução: Alterar a sintaxe no comando SQL Novo Custo Esperado: 1 service units (> 80%) 2 ms (CPU) (> 70%)

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 7642 tabela XXXXXCMT cursor:(select sem cursor) Texto SQL original SELECT IDP_COD_PRO_CMR_CD, IDP_FEC_INI_VIG_FF, IDP_FEC_FIN_VIG_FF FROM ATISOWN.PQIDPCDV WHERE IDP_NUM_IDE_NU =? AND IDP_IDE_PRO_CMR_CD =? AND IDP_FEC_INI_VIG_FF <= CURRENT_DATE AND IDP_FEC_FIN_VIG_FF >= CURRENT_DATE AND IDP_ITE_BAJ_SIS_TS IS NULL AND (IDP_TIM_ULT_MOD_TS IN ( SELECT MAX ( IDP_TIM_ULT_MOD_TS ) FROM ATISOWN.PQIDPCDV WHERE IDP_NUM_IDE_NU =? AND IDP_IDE_PRO_CMR_CD =? AND IDP_FEC_INI_VIG_FF <= CURRENT_DATE AND IDP_FEC_FIN_VIG_FF >= CURRENT_DATE AND IDP_ITE_BAJ_SIS_TS IS NULL

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 7642 tabela XXXXXCMT cursor:(select sem cursor) Texto SQL Alterado SELECT A.IDP_COD_PRO_CMR_CD, A.IDP_FEC_INI_VIG_FF,A.IDP_FEC_FIN_VIG_FF FROM ATISOWN.PQIDPCDV A WHERE A.IDP_NUM_IDE_NU =? AND A.IDP_IDE_PRO_CMR_CD =? AND A.IDP_FEC_INI_VIG_FF <= CURRENT_DATE AND A.IDP_FEC_FIN_VIG_FF >= CURRENT_DATE AND A.IDP_ITE_BAJ_SIS_TS IS NULL AND (A.IDP_TIM_ULT_MOD_TS IN ( SELECT MAX ( B.IDP_TIM_ULT_MOD_TS ) FROM ATISOWN.PQIDPCDV B WHERE B.IDP_NUM_IDE_NU = A.IDP_NUM_IDE_NU AND B.IDP_IDE_PRO_CMR_CD = A.IDP_IDE_PRO_CMR_CD AND B.IDP_FEC_INI_VIG_FF = A.IDP_FEC_INI_VIG_FF AND B.IDP_FEC_FIN_VIG_FF = A.IDP_FEC_FIN_VIG_FF AND B.IDP_ITE_BAJ_SIS_TS = A.IDP_ITE_BAJ_SIS_TS))

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2776 tabela XXXXXADV cursor: (select sem cursor) DB2 elapsed medido: Custo Original: 1% tempo total (ou 0.76% - teste stress) 6 service units 7 ms (CPU) Solução: 1)Alterar comandos SQL Novo Custo esperado: 1 service units (> 90%) 2 ms (CPU) (> 80%) 2)Criar novo índice e alterar comando SQL (ainda não testado)

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2776 tabela XXXXXADV cursor: (select sem cursor) CREATE UNIQUE INDEX ATISOWN.XXXXXAI0 (PSP_COD_PRO_CMR_CD ASC, (171.614) PSP_PRO_SER_CTO_CD ASC, (1.009.000) PSP_TIP_PRO_SER_CD ASC) (9) CREATE UNIQUE INDEX ATISOWN.XXXXXAI1 (PSP_PRO_SER_CTO_CD ASC) (1.009.000) CREATE UNIQUE INDEX ATISOWN.XXXXXAI2 (PSP_NUM_AVA_NU ASC, (1) PSP_PRO_SER_CTO_CD ASC) (1.009.000) CREATE UNIQUE INDEX ATISOWN.XXXXXAI3 (não utilizado) (PSP_CET_COS_CLI_CD ASC, (1) PSP_PRO_SER_CTO_CD ASC) (1.009.000) CREATE INDEX ATISOWN.XXXXXAI4 (PSP_COD_PRO_SER_CD ASC) (455)

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2776 tabela XXXXXADV cursor: (select sem cursor) Texto SQL Original SELECT PSP_PRO_SER_CTO_CD FROM PQPSPADV WHERE PSP_COD_PRO_CMR_CD =? AND PSP_FEC_INI_VIG_FF <= CURRENT_DATE AND PSP_FEC_FIN_VIG_FF >= CURRENT_DATE AND PSP_ITE_BAJ_SIS_TS IS NULL AND PSP_TIM_ULT_MOD_TS IN (( SELECT MAX ( PSP_TIM_ULT_MOD_TS ) FROM PQPSPADV WHERE PSP_COD_PRO_CMR_CD =? AND PSP_FEC_INI_VIG_FF <= CURRENT_DATE AND PSP_FEC_FIN_VIG_FF >= CURRENT_DATE AND PSP_ITE_BAJ_SIS_TS IS NULL))

Eccox/QC SQL Advisor Statements do programa analisados Stmt: 2776 tabela XXXXXADV cursor: (select sem cursor) Texto SQL Alterado SELECT A.PSP_PRO_SER_CTO_CD FROM ATISOWN.PQPSPADV A WHERE A.PSP_COD_PRO_CMR_CD =? AND A.PSP_FEC_INI_VIG_FF <= CURRENT_DATE AND A.PSP_FEC_FIN_VIG_FF >= CURRENT_DATE AND A.PSP_ITE_BAJ_SIS_TS IS NULL AND A.PSP_TIM_ULT_MOD_TS IN ( SELECT MAX ( B.PSP_TIM_ULT_MOD_TS ) FROM ATISOWN.PQPSPADV B WHERE B.PSP_COD_PRO_CMR_CD = A.PSP_COD_PRO_CMR_CD AND B.PSP_FEC_INI_VIG_FF = A.PSP_FEC_INI_VIG_FF AND B.PSP_FEC_FIN_VIG_FF = A.PSP_FEC_FIN_VIG_FF AND B.PSP_ITE_BAJ_SIS_TS = A.PSP_ITE_BAJ_SIS_TS)