workshop db2 desempenho e boas práticas em comandos sql v00 01
DESCRIPTION
DB2 desempenho e boas práticas em comandos SQLTRANSCRIPT
Instrutor: Ivan Alves Tavares JrInstrutor: Ivan Alves Tavares JrDB2 UDB 8.2 Database Certified Administrator (LUW)DB2 UDB 8.2 Database Certified Administrator (LUW) Recife, Dezembro de 2006
Workshop IBM DB2 UDB 8.2
Boas práticas e dicas de performance
Workshop DB2 UDBWorkshop DB2 UDB
RoteiroRoteiro Ambiente DB2Ambiente DB2 Ferramentas de acesso ao banco de dadosFerramentas de acesso ao banco de dados Dicas comandos SQL Dicas comandos SQL
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2Ferramentas disponíveisFerramentas disponíveis
Workshop DB2 UDBWorkshop DB2 UDB
Janela de comandosJanela de comandos
Workshop DB2 UDBWorkshop DB2 UDB
Processador de Linha de ComandosProcessador de Linha de Comandos
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2Assistente de Configuração do ClienteAssistente de Configuração do Cliente
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2Centro de ControleCentro de Controle
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2Centro de ControleCentro de Controle
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2Centro de ControleCentro de Controle
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2 Ambiente DB2 Instâncias / Databases / SchemasInstâncias / Databases / Schemas
SchemasSchemas São qualificadores de alto nível que agrupam objetos num São qualificadores de alto nível que agrupam objetos num
banco de dados DB2. Schemas podem ser de usuário ou de banco de dados DB2. Schemas podem ser de usuário ou de sistema.sistema.
System Schemas System Schemas SYSIBM:
O catálogo básico de metadados dos objetos de um database; SYSCAT:
Catálogo com visões (read-only) dos metadados dos objetos de um database – forma recomendada de se obter informações de um objeto de banco de dados;
SYSFUN: Funções definidas por usuários.
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2 Ambiente DB2 Instâncias / Databases / SchemasInstâncias / Databases / Schemas
Os Schemas de usuários são atrelados a um login Os Schemas de usuários são atrelados a um login de acesso ao DB2.de acesso ao DB2.
Um login pode definir vários Schemas.Um login pode definir vários Schemas.
Os schemas agrupam tabelas, visões, triggers e Os schemas agrupam tabelas, visões, triggers e procedures, bem como definem os nomes destes procedures, bem como definem os nomes destes objetos:objetos:
SISWEB.tab_Usuarios ADMRH.vw_Colaboradores
Select UserID, UserNM From ADMRH.vw_ColaboradoresSelect UserID, UserNM From ADMRH.vw_Colaboradores
Workshop DB2 UDBWorkshop DB2 UDB
Ambiente DB2Ambiente DB2Instâncias / Databases / SchemasInstâncias / Databases / Schemas
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQL
SELECT ’The price for ' || SUBSTR(title, 1, 40) ||' is $' || CAST(price AS VARCHAR(10))FROM titles
SELECT ’The price for ' || SUBSTR(title, 1, 40) ||' is $' || CAST(price AS VARCHAR(10))FROM titles
The price for The Busy Executive’s Database Guide is $19.99The price for Cooking with Computers: Surreptitious is $11.95The price for You Can Combat Computer Stress! is $ 2.99The price for Straight Talk About Computers is $19.99. . .. . .. . .The price for Onions, Leeks, and Garlic: Cooking Sec is $20.95The price for Fifty Years in Buckingham Palace Kitch is $11.95The price for Sushi, Anyone? is $14.99
(18 row(s) affected)
titlestitles
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQL
Simple CASE Expression:Simple CASE Expression:
Searched CASE Expression:Searched CASE Expression:
CASE expression WHEN expression1 THEN expression1 [[WHEN expression2 THEN expression2] [...]] [ELSE expressionN]
END
CASE expression WHEN expression1 THEN expression1 [[WHEN expression2 THEN expression2] [...]] [ELSE expressionN]
END
CASE WHEN Boolean_expression1 THEN expression1 [[WHEN Boolean_ expression2 THEN expression2] [...]] [ELSE expressionN]
END
CASE WHEN Boolean_expression1 THEN expression1 [[WHEN Boolean_ expression2 THEN expression2] [...]] [ELSE expressionN]
END
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQLSELECT (CASE LANCTB.IN_SINAL_LANC WHEN 'D' THEN (LANCTB.VL_LANC_DET)
ELSE 0.00 END) AS MOVIMENTO_DEBITO
, (CASE LANCTB.IN_SINAL_LANC WHEN 'C' THEN (LANCTB.VL_LANC_DET)
ELSE 0.00 END) AS MOVIMENTO_CREDITO
FROM LANCAMENTO_CONTABIL AS LANCTB INNER JOIN LANCAMENTO AS LANCMT ON LANCMT.DT_ANO_EXERC = LANCTB.DT_ANO_EXERC AND LANCMT.CD_UG_EMITENTE = LANCTB.CD_UG_EMITENTE AND LANCMT.CD_TIPO_DOC = LANCTB.CD_TIPO_DOC
INNER JOIN CONTA_CONTABIL AS CTACTB ON CTACTB.CD_CONTA_CONTABIL = LANCTB.CD_CONTA_CONTABIL
WHERE LANCTB.DT_ANO_EXERC = 2006 AND LANCTB.CD_UG_DESTINO = 560100 AND LANCTB.CD_CONTA_CONTABIL BETWEEN 999920101 AND 999920101 AND LANCMT.DT_LANCAMENTO BETWEEN '2006-01-01' AND '2006-04-13' AND LANCTB.CD_CONTA_CORRENTE = ‘9#056010#9999010123600#08025#XX12’
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQL
COALESCE Avalia uma série de COALESCE Avalia uma série de valores e retorna o primeiro valor valores e retorna o primeiro valor Não NULLNão NULL
COALESCE (expression1, expression2, ... expressionN)COALESCE (expression1, expression2, ... expressionN)
Select coalesce (salario, comissao * venda) as proventos
from vendas
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQL
172-32-1176213-46-8915238-95-7766267-41-2394...846-92-7186893-72-1158
WhiteGreenCarsonO’Leary...HunterMcBadden
JohnsonMarjorieCherylMichael...SherylHeather
408 496-7223415 986-7020415 548-7723408 286-2428...415 836-7128707 448-4982
10932 Bigge Rd.309 63rd St. #411589 Darwin Ln.22 Cleveland Av. #14...3410 Blonde St.301 Putnam
Menlo ParkOaklandBerkeleySan Jose...Palo AltoVacaville
CACACACA...CACA
94025946189470595128...9430195688
1111...10
au_id au_lname au_fname phone address city state zip contract
authorsauthors
(16 row(s) affected)
SELECT *FROM authorsWHERE zip > '90000'
SELECT *FROM authorsWHERE zip > '90000'
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQL
SELECT au_lname, city FROM authors WHERE state = 'CA'
SELECT au_lname, city FROM authors WHERE state = 'CA'
Menlo ParkOaklandBerkeleySan Jose...OaklandOaklandPalo AltoVacaville
WhiteGreenCarsonO’Leary...MacFeatherKarsenHunterMcBadden
au_lname city
(15 row(s) affected)
authorsauthors
Evitem o uso de * na lista de atributos do
comando Select
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQL
SELECT stor_name FROM stores WHERE stor_name = 'Book'
SELECT stor_name FROM stores WHERE stor_name = 'Book'
SELECT stor_name FROM stores WHERE stor_name LIKE 'Book'
SELECT stor_name FROM stores WHERE stor_name LIKE 'Book'
Se o atributo for CHAR, ele será preenchido com brancos a direita:
Ex: CHAR(30) - Tereza Lira....................
Se o atributo for VARCHAR, ele não será completado por brancos a direita
O uso do operador “=“, despreza a existência de brancos a direita
O operador “LIKE” é influenciado pela existência de brancos a direita
Workshop DB2 UDBWorkshop DB2 UDB
JunçõesJunções
Juntar Informação de duas ou mais tabelas, Juntar Informação de duas ou mais tabelas, através de algum atributo em comumatravés de algum atributo em comum
Uso da sintaxe ANSI SQL ou sintaxe Uso da sintaxe ANSI SQL ou sintaxe proprietáriaproprietária
SELECT table_name.column_name, table_name.column_name [,table_name.column_name ...] FROM {table_name, table_name }
WHERE table_name.column_name join_operator table_name.column_name
SELECT table_name.column_name, table_name.column_name [,table_name.column_name ...] FROM {table_name, table_name }
WHERE table_name.column_name join_operator table_name.column_name
Outra SintaxeOutra Sintaxe
SELECT table_name.column_name, tabela_name.column_name [,table_name.column_name ...] FROM {table_name [join_type] JOIN tabela
ON search_conditions} WHERE [search condition ...]
SELECT table_name.column_name, tabela_name.column_name [,table_name.column_name ...] FROM {table_name [join_type] JOIN tabela
ON search_conditions} WHERE [search condition ...]
ANSI SQLANSI SQL
Workshop DB2 UDBWorkshop DB2 UDB
Inner JoinInner Join
SELECT pub_name, title
FROM titles INNER JOIN publishers ON titles.pub_id = publishers.pub_id
SELECT pub_name, title
FROM titles INNER JOIN publishers ON titles.pub_id = publishers.pub_id
titlestitlestitlestitlestitle_idtitle_id titletitle pub_idpub_id
BU 1032PC 1035BU 2075PS 2091PS 2106...
BU 1032PC 1035BU 2075PS 2091PS 2106...
The Busy Executive’sBut Is It User Friendly?You Can Combat Co...Is Anger the Enemy?Life Without Fear
The Busy Executive’sBut Is It User Friendly?You Can Combat Co...Is Anger the Enemy?Life Without Fear
13891389073607360736...
13891389073607360736...
resultsresultsresultsresultspub_namepub_name
Algodata InfosystemsAlgodata InfosystemsNew Moon BooksNew Moon BooksNew Moon Books.(17 row(s) affected)
Algodata InfosystemsAlgodata InfosystemsNew Moon BooksNew Moon BooksNew Moon Books.(17 row(s) affected)
titletitle
The Busy Executive’s..But is It User Friendly?You Can Combat Co...Is Anger the Enemy?Life Without Fear.
The Busy Executive’s..But is It User Friendly?You Can Combat Co...Is Anger the Enemy?Life Without Fear.
publisherspublisherspublisherspublisherspub_idpub_id pub_namepub_name citycity
138907360877
138907360877
Algodata InfosystemsNew Moon BooksBinnet & Hardley
Algodata InfosystemsNew Moon BooksBinnet & Hardley
BerkleyBostonWashington
BerkleyBostonWashington
Workshop DB2 UDBWorkshop DB2 UDB
Inner JoinInner Join
SELECT stor_name, qty, title
FROM titles INNER JOIN sales ON titles.title_id = sales.title_id INNER JOIN stores ON stores.stor_id = sales.stor_id
SELECT stor_name, qty, title
FROM titles INNER JOIN sales ON titles.title_id = sales.title_id INNER JOIN stores ON stores.stor_id = sales.stor_id
titlestitlestitlestitles
title_idtitle_id title title typetype stor_id
stor_id
BU1032PC1035BU2075BU1111
BU1032PC1035BU2075BU1111
The Busy Executive’s Databa... But Is It User Friendly?You Can Combat Computer ...Cooking with Computers:Surreptitious Balance Sheets
The Busy Executive’s Databa... But Is It User Friendly?You Can Combat Computer ...Cooking with Computers:Surreptitious Balance Sheets
businesspopular_compbusinessbusiness
businesspopular_compbusinessbusiness
1389138907361389
1389138907361389
resultsresultsresultsresultsstor_namestor_name qtyqty titletitle
BookbeatFricative Bookshop..
BookbeatFricative Bookshop..
2535..
2535..
Cooking with Computers: Surreptitious Balance SheetsYou Can Combat Computer Stress!..
Cooking with Computers: Surreptitious Balance SheetsYou Can Combat Computer Stress!..
storesstoresstoresstores
stor_idstor_id stor_namestor_name stor_address stor_address city city
7066706780427896
7066706780427896
Barnum’sNews & BrewsBookbeatFricative Boo..
Barnum’sNews & BrewsBookbeatFricative Boo..
567 Pasadena577 First St679 Carson St.89 Madison St.
567 Pasadena577 First St679 Carson St.89 Madison St.
TustinLos GatosPortlandFremont
TustinLos GatosPortlandFremont
salessalessalessales
stor_id stor_id date date title_id title_id qty qty
7066706778968042
7066706778968042
09/13/8509/14/8509/14/8509/14/85
09/13/8509/14/8509/14/8509/14/85
PS2091PS2091 BU2075BU1111
PS2091PS2091 BU2075BU1111
75103525
75103525
Workshop DB2 UDBWorkshop DB2 UDB
Left / Right Outer JoinLeft / Right Outer Join
SELECT titles.title_id, title, qty FROM titles LEFT OUTER JOIN sales ON titles.title_id = sales.title_id
SELECT titles.title_id, title, qty FROM titles LEFT OUTER JOIN sales ON titles.title_id = sales.title_id
titlestitlestitlestitlestitle_idtitle_id
BU1032BU1111BU2075BU7832MC2222MC3021
BU1032BU1111BU2075BU7832MC2222MC3021
titletitle
The Busy Executive’s Database GuideCooking with Computers: Surreptitious Balance You Can Combat Computer Stress!Straight Talk About ComputersSilicon Valley Gastronomic TreatsThe Gourmet Microwave
The Busy Executive’s Database GuideCooking with Computers: Surreptitious Balance You Can Combat Computer Stress!Straight Talk About ComputersSilicon Valley Gastronomic TreatsThe Gourmet Microwave
salessalessalessalesstor_idstor_id
6380638070667066
6380638070667066
qtyqty
535075
535075
title_idtitle_id
BU1032PS2091PC8888PS2091
BU1032PS2091PC8888PS2091
resultsresultsresultsresultstitle_idtitle_id
BU1032BU1032BU1111BU2075..MC3026..
PC9999
(23 row(s) affected)
BU1032BU1032BU1111BU2075..MC3026..
PC9999
(23 row(s) affected)
titletitle
The Busy ExecutiveThe Busy Executive Cooking with CompYou Can Combat ..The Psychology of..
Net Etiquette
The Busy ExecutiveThe Busy Executive Cooking with CompYou Can Combat ..The Psychology of..
Net Etiquette
qtyqty
5102535..(null)..
(null)
5102535..(null)..
(null)
Workshop DB2 UDBWorkshop DB2 UDB
Funções AgregadasFunções Agregadas
Funções UsoAVG MédiaCOUNT ContabilizarSUM SomatórioMAX Valor MáximoMIN Valor Mínimo
Podem ser utilizadas sem Group By
Select Max(Valor) as Maior from tab;
Select Count(*) as Qtde from tab;
Workshop DB2 UDBWorkshop DB2 UDB
Dicas Comandos SQLDicas Comandos SQL
SELECT UF_SG, COUNT(PESSOA_CD) from t_end GROUP BY UF_SG
SELECT UF_SG, COUNT(PESSOA_CD) from t_end GROUP BY UF_SG
PESSOA_ CD LOGR_ ID UF_ SG MUNC_ ID
18 PB 2570
1243 PB 2570
1098 PE 2437
123 PE 2437
3012 PE 4066
2345 PE 4066
500 PE 4066
456 PE 4066
UF_ SG COUNT(PESSOA_ CD)
PB 2
PE 6
Workshop DB2 UDBWorkshop DB2 UDB
Group ByGroup By
SELECT UF_SG, MUNC_ID, COUNT(PESSOA_CD) from t_end
GROUP BY UF_SG, MUNC_ID
SELECT UF_SG, MUNC_ID, COUNT(PESSOA_CD) from t_end
GROUP BY UF_SG, MUNC_ID
PESSOA_ CD LOGR_ ID UF_ SG MUNC_ ID
18 PB 2570
1243 PB 2570
1098 PE 2437
123 PE 2437
3012 PE 4066
2345 PE 4066
500 PE 4066
456 PE 4066
UF_ SG MUNC_ ID COUNT(PESSOA_ CD)
PB 2570 2
PE 2437 2
PE 4066 4
Workshop DB2 UDBWorkshop DB2 UDB
HavingHaving
SELECT UF_SG, MUNC_ID, COUNT(PESSOA_CD) from t_end
GROUP BY UF_SG, MUNC_ID HAVING COUNT(PESSOA_CD) > 2
SELECT UF_SG, MUNC_ID, COUNT(PESSOA_CD) from t_end
GROUP BY UF_SG, MUNC_ID HAVING COUNT(PESSOA_CD) > 2
PESSOA_ CD LOGR_ ID UF_ SG MUNC_ ID
18 PB 2570
1243 PB 2570
1098 PE 2437
123 PE 2437
3012 PE 4066
2345 PE 4066
500 PE 4066
456 PE 4066
UF_ SG MUNC_ ID COUNT(PESSOA_ CD)
PE 4066 4
Workshop DB2 UDBWorkshop DB2 UDB
Uso correto do Group By Uso correto do Group By
(SELECT UF_SG, MUNC_ID , COUNT(PESSOA_CD) as Qtde
From t_end
GROUP BY UF_SG, MUNC_ID) as Calculo
SELECT UF_NM, MUNC_NM, Calculo.Qtde FROM t_Local INNER JOIN
ON t_Local.MUNC_ID = Calculo.MUNC_ID INNER JOIN t_UF ON t_UF.UF_SG = Calculo.UF_SG
Workshop DB2 UDBWorkshop DB2 UDB
IndexIndex
Quando um comando SQL é compilado, o otimizador de consultas estima o custo de execução de diferentes formas de satisfazer uma consulta.
Existem duas formas de acesso aos dados:
• Relational (Table) Scan
Leitura sequencial dos resgistros da tabela
• Index Scan
Leitura da estrutura de índice, agilizando o acesso aos dados
Workshop DB2 UDBWorkshop DB2 UDB
Uso do DistinctUso do Distinct
A cláusula DISTINCT retira linhas em duplicidade, A cláusula DISTINCT retira linhas em duplicidade, como resultado de um comando SELECTcomo resultado de um comando SELECT A cláusula DISTINCT cria tabelas temporárias para poder A cláusula DISTINCT cria tabelas temporárias para poder
eliminar as linhas em duplicidadeeliminar as linhas em duplicidade Usar o DISTINCT num SELECT que retorne campos string Usar o DISTINCT num SELECT que retorne campos string
grandes é desaconselhável do ponto de vista de grandes é desaconselhável do ponto de vista de performanceperformance
Se for imprescindível usar o DISTINCT, optar por faze-lo Se for imprescindível usar o DISTINCT, optar por faze-lo em cima de campos numéricosem cima de campos numéricos
Muitas vezes o uso do DISTINCT esta mascarando Muitas vezes o uso do DISTINCT esta mascarando um comando SQL mal construído um comando SQL mal construído
Workshop DB2 UDBWorkshop DB2 UDB
ÍndiceÍndice
Para que utilizar índices ?Para que utilizar índices ? Garantir valores únicos (PK e Unique index)Garantir valores únicos (PK e Unique index) Pode ordenar os registros da tabela fisicamente Pode ordenar os registros da tabela fisicamente
(parâmetro cluster)(parâmetro cluster) Agilizar acesso aos dadosAgilizar acesso aos dados
Qual a diferença entre PK, FK e índices ?Qual a diferença entre PK, FK e índices ? PK: índice principal (campos obrigatórios)PK: índice principal (campos obrigatórios) índice: estruturas auxiliares para agilizar acesso aos índice: estruturas auxiliares para agilizar acesso aos
registros (aceita ausência de valor: NULL)registros (aceita ausência de valor: NULL) FK: Garante a integridade referencial do dado, verificando FK: Garante a integridade referencial do dado, verificando
se o mesmo existe numa tabela principal. Não gera índicese o mesmo existe numa tabela principal. Não gera índice..
Workshop DB2 UDBWorkshop DB2 UDB
ÍndiceÍndice
Workshop DB2 UDBWorkshop DB2 UDB
ÍndiceÍndice
Workshop DB2 UDBWorkshop DB2 UDB
Índice – Simulação de uma InclusãoÍndice – Simulação de uma Inclusão
Localizar a folha onde a chave deve ser Inserida Se houver espaço, insere Senão quebrar página em duas e promover chave do
meio para o nível acima. Executar passo anterior para inserir chave promovida no nó pai.http://slady.net/java/bt/view.php?w=800&h=600
Workshop DB2 UDBWorkshop DB2 UDB
ÍndiceÍndice
Utilizem sempre que possível filtros nas Utilizem sempre que possível filtros nas consultasconsultas
Montem a ordem do filtro (WHERE), baseado Montem a ordem do filtro (WHERE), baseado na ordem do índice existente para a tabelana ordem do índice existente para a tabela
Exemplo:Exemplo:
Where DT_ANO = 2006 DT_ANO = 2006
And CD_UG = 905602And CD_UG = 905602
And SQ_GESTAO = 4And SQ_GESTAO = 4
Workshop DB2 UDBWorkshop DB2 UDB
TransaçõesTransações
Begin TransactionBegin Transaction
Insert into Tabela01Insert into Tabela01
Insert into Tabela02Insert into Tabela02
Insert into Tabela06Insert into Tabela06
Update Tabela03Update Tabela03
Update Tabela05Update Tabela05
Delete Tabela10Delete Tabela10
......
Commit TransactionCommit Transaction
Garantir atualizações atômicas em duas os mais tabelasGarantir atualizações atômicas em duas os mais tabelas
O usuário que iniciar as transações terá que ter O usuário que iniciar as transações terá que ter autorização em todas as tabelas envolvidasautorização em todas as tabelas envolvidas
Workshop DB2 UDBWorkshop DB2 UDB
Monitorar TransaçõesMonitorar Transações
Begin TransactionBegin Transaction
Insert into Tabela01Insert into Tabela01
Insert into Tabela02Insert into Tabela02
Insert into Tabela06Insert into Tabela06
Update Tabela03Update Tabela03
Update Tabela05Update Tabela05
Delete Tabela10Delete Tabela10
......
Commit TransactionCommit Transaction
db2 update monitor switches using LOCK ONdb2 update monitor switches using LOCK ON db2 update monitor switches using STATEMENT ONdb2 update monitor switches using STATEMENT ON db2 update monitor switches using UOW ONdb2 update monitor switches using UOW ON
db2 get snapshot for locks on <database name>db2 get snapshot for locks on <database name>
Documento do WordPad
Workshop DB2 UDBWorkshop DB2 UDB
Melhoria de PerformanceMelhoria de Performance
Conheçam profundamente o modelo de dados Conheçam profundamente o modelo de dados
Evitem reutilizar consultas de forma indiscriminadaEvitem reutilizar consultas de forma indiscriminada
““Consultas mágicas” não existem Consultas mágicas” não existem
Evitem o uso de DISTINCTEvitem o uso de DISTINCT
Cuidado ao utilizar a cláusula GROUP ByCuidado ao utilizar a cláusula GROUP By
Eliminar acessos desnecessários a tabelas e viewsEliminar acessos desnecessários a tabelas e views
Só incluir nos Joins tabelas de onde se retornarão Só incluir nos Joins tabelas de onde se retornarão dados, usando a cláusula Where para os filtros dados, usando a cláusula Where para os filtros necessáriosnecessários
Workshop DB2 UDBWorkshop DB2 UDB
Melhoria de PerformanceMelhoria de Performance
Analisem as necessidades de consultas e criem Analisem as necessidades de consultas e criem tantas consultas quanto necessário.tantas consultas quanto necessário.
Verifiquem junto a equipe de banco de dados Verifiquem junto a equipe de banco de dados como foi montado o plano de execução da como foi montado o plano de execução da consulta.consulta.
Estudar junto a equipe de banco de dados a Estudar junto a equipe de banco de dados a criação de índices para agilizar o retorno dos criação de índices para agilizar o retorno dos dados consultados e minimizando as “Tables dados consultados e minimizando as “Tables Scans”.Scans”.
Se tiverem dúvidas quanto ao uso de comandos Se tiverem dúvidas quanto ao uso de comandos SQL procurem a equipe de banco de dadosSQL procurem a equipe de banco de dados