SlideShare uma empresa Scribd logo
1 de 43
QMeeting 2015
Pequenos erros, grandes problemas!
Yuri Nicolett
A Qlik Technologies Inc. não é patrocinadora
deste evento e não é responsável por qualquer
conteúdo ou informação oferecida, este evento
foi organizado pelos integrantes da comunidade
de desenvolvedores Qlik e parceiros que desejam
debater as melhores práticas com a plataforma e
estreitar o relacionamento profissional.
05Unidades
SP, DF, PE, RS, SA
+70
Canais e Alianças
04
Premiações Qlik
10 ANOS
• Especialista em Segurança da Informação
• Especialista Qlik
• Autor do Blog: blogdonicolett.com.br
• Qlik MVP 2015
Sua aplicação esta lenta? (Qlik-Wait-View)
Sua aplicação faz o QvServer reiniciar?
Os dados estão errados e você não sabe como?
Uso do DISTINCT em união de tabelas.
Uso do DISTINCT em união de tabelas
Uso do DISTINCT em união de tabelas
900
750
Uso do DISTINCT em união de tabelas
Uso do DISTINCT em união de tabelas
E se….
O comportamento do
DISTINCT será aplicado
na tabela final que a
união resultará.
Leitura de múltiplos arquivos em união de
tabelas.
Leitura de múltiplos arquivos em união de tabelas
Leitura de múltiplos arquivos em união de tabelas
E se….
Adicionarmos o nome da empresa?
Leitura de múltiplos arquivos em união de tabelas
E se…. Adicionarmos o nome da empresa?
Leitura de múltiplos arquivos em união de tabelas
E se…. A união ficará
correta, pois a
tabela NotaFiscal
vai receber os dados
da tabela Empresas
somente após
carregar todos os
arquivos.
Qual dessas expressões apresenta o
melhor desempenho?
SUM({$<Flag_True_or_False = {'-1'}>} Valor)
SUM({$<Flag_True_or_Null = {'-1'}>} Valor)
SUM({$<Valor = {'<=0,6000'}>} Valor)
SUM(if( Valor<=0.6000, Valor))
SUM(Valor*Flag_True_or_False)
1
2
3
4
5
Expressões booleanas são melhores que
flags.
Expressões booleanas são melhores que flags
Em ciência da computação, booleano é um tipo
de dado primitivo que possui dois valores, que
podem ser considerados como 1 ou 0, falso ou
verdadeiro.
Wikipédia
Expressões booleanas são melhores que flags
Cenário…
True() = -1
False() = 0
Qual dessas expressões apresenta o
melhor desempenho?
SUM({$<Flag_True_or_False = {'-1'}>} Valor)
SUM({$<Flag_True_or_Null = {'-1'}>} Valor)
SUM({$<Valor = {'<=0,6000'}>} Valor)
SUM(if( Valor<=0.6000, Valor))
SUM(Valor*Flag_True_or_False)
1
2
3
4
5
ms
187
187
156
234
218
Leitura Otimizada de QVD
Leitura Otimizada de QVD
Transformações
Permitidas
Renomear campos
DISTINCT
Exists
OMIT
Concatenate
Transformações
Não Permitidas
JOIN
Agregar campos
Condições Where
Funções
Concatenar com leitura otimizada
Concatenar com leitura otimizada
Tabela 1
Tabela 2
Tabela 3
Tabela 4
Tabela 5 A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
Concatenar com leitura otimizada
Tabela 5
Tabela 4
Tabela 3
Tabela 2
A
A
A
A
B
B
B
B
C
C
C
D
D E
Tabela 1 A B C D E F
Concatenar com leitura otimizada
Tabela 1
Tabela 2
Tabela 3
Tabela 4
A
A
A
A
B
B
B
B
C
C
C
D
D E
Tabela 5 A B C D E F
Concatenar com leitura otimizada
Cenário…
Leitura Otimizada
Leitura Otimizada
Leitura não otimizada de um registro
Leitura Otimizada
Se isso, senão aquilo...
Se isso, senão aquilo...
Ou…
Se isso, senão aquilo...
Possíveis soluções – Condicional da Expressão
Se isso, senão aquilo...
Possíveis soluções – Expansão do sinal de dólar
Se isso, senão aquilo...
Possíveis soluções – Expansão do sinal de dólar
Se isso, senão aquilo...
Possíveis soluções – Expansão do sinal de dólar
Como devem ser minhas chaves?
Como devem ser minhas chaves?
Concatenadas?
Hash?
Como devem ser minhas chaves?
A Tabela de Símbolos
Como devem ser minhas chaves?
A Tabela de Símbolos - Características
1. Será criada uma tabela de símbolos por coluna carregada
2. Uma linha para cada valor distinto
3. O ponteiro possui a quantidade mínima necessária de bits (de
acordo com seu tamanho)
Como devem ser minhas chaves?
O que faz a tabela de símbolos crescer?
1. A quantidade de colunas
2. A quantidade de linhas não distintas
3. O tamanho dos valores/strings
Como devem ser minhas chaves?
Concatenadas?
Hash?
USE CHAVES CONCATENADAS APENAS
NO DESENVOLVIMENTO PARA FACILITAR
A VALIDAÇÃO DOS DADOS!
HASH DEVE SER CRIADO NA APLICAÇÃO
FINAL.
Sua aplicação esta lenta? (Qlik-Wait-View)
Sua aplicação faz o QvServer reiniciar?
Os dados estão errados e você não sabe como?
1. Mantenha a Calma!
2. Remova colunas não utilizadas
5. Identifique e melhore expressões pesadas
8. Verifique o tipo de chaveamento
9. Campos distintos
10. Identifique variáveis iniciadas com o sinal de igual
3. Remova dimensões calculadas
4. Identifique melhorias de modelagem
6. Crie condicionais de cálculos/pré filtros.
7. Verifique o número de gráficos ativos na mesma tela
Mas perai...
Afinal, Macros são ruins?
Obrigado!
Yuri.nicolett@gmail.com
Skype: yurinicolett

Mais conteúdo relacionado

Semelhante a QMeeting 2015 Pequenos erros, grandes problemas

TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Práticatdc-globalcode
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na PráticaEiti Kimura
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesMauricio Volkweis Astiazara
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfFelipeSoares580387
 
Business Intelligence, Data Visualization and Data Science
Business Intelligence, Data Visualization and Data ScienceBusiness Intelligence, Data Visualization and Data Science
Business Intelligence, Data Visualization and Data ScienceDiego Nogare
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesDalton Martins
 
Seven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_ServidoresSeven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_ServidoresCleber Tavares Jr.
 
Qualidade em Testes de Software
Qualidade em Testes de SoftwareQualidade em Testes de Software
Qualidade em Testes de SoftwareGDGFoz
 
Programação Funcional usando C# e F#
Programação Funcional usando C# e F#Programação Funcional usando C# e F#
Programação Funcional usando C# e F#Gabriel Schade Cardoso
 
Automatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hojeAutomatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hojeakamud
 
Mineração com sql server 2008 r2
Mineração com sql server 2008 r2Mineração com sql server 2008 r2
Mineração com sql server 2008 r2Rodrigo Dornel
 
Introducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptIntroducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptValdinho Pereira
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...tdc-globalcode
 
[GetNinjas] Business Intelligence Workshop @ Google Campus SP
[GetNinjas] Business Intelligence Workshop @ Google Campus SP[GetNinjas] Business Intelligence Workshop @ Google Campus SP
[GetNinjas] Business Intelligence Workshop @ Google Campus SPBernardo Srulzon
 

Semelhante a QMeeting 2015 Pequenos erros, grandes problemas (20)

Cap7
Cap7Cap7
Cap7
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de Chaves
 
(08) entenda - spss
(08)   entenda - spss(08)   entenda - spss
(08) entenda - spss
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
 
Business Intelligence, Data Visualization and Data Science
Business Intelligence, Data Visualization and Data ScienceBusiness Intelligence, Data Visualization and Data Science
Business Intelligence, Data Visualization and Data Science
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrões
 
Seven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_ServidoresSeven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_Servidores
 
Qualidade em Testes de Software
Qualidade em Testes de SoftwareQualidade em Testes de Software
Qualidade em Testes de Software
 
Programação Funcional usando C# e F#
Programação Funcional usando C# e F#Programação Funcional usando C# e F#
Programação Funcional usando C# e F#
 
Automatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hojeAutomatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hoje
 
Metricas forecasting
Metricas forecastingMetricas forecasting
Metricas forecasting
 
Mineração com sql server 2008 r2
Mineração com sql server 2008 r2Mineração com sql server 2008 r2
Mineração com sql server 2008 r2
 
P910Aula06
P910Aula06P910Aula06
P910Aula06
 
Gestão SC x Gestão Negócio
Gestão SC x Gestão NegócioGestão SC x Gestão Negócio
Gestão SC x Gestão Negócio
 
Introducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptIntroducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-pt
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
 
Filtro de SPAM
Filtro de SPAMFiltro de SPAM
Filtro de SPAM
 
[GetNinjas] Business Intelligence Workshop @ Google Campus SP
[GetNinjas] Business Intelligence Workshop @ Google Campus SP[GetNinjas] Business Intelligence Workshop @ Google Campus SP
[GetNinjas] Business Intelligence Workshop @ Google Campus SP
 

Mais de Roberto Oliveira

10 mandamentos do projeto de BI
10 mandamentos do projeto de BI10 mandamentos do projeto de BI
10 mandamentos do projeto de BIRoberto Oliveira
 
Qmeeting 2018 - Utilizando Mashups no Qlik Sense
Qmeeting 2018 - Utilizando Mashups no Qlik SenseQmeeting 2018 - Utilizando Mashups no Qlik Sense
Qmeeting 2018 - Utilizando Mashups no Qlik SenseRoberto Oliveira
 
Qmeeting 2018 - Web Connectors para Qlik
Qmeeting 2018 -  Web Connectors para QlikQmeeting 2018 -  Web Connectors para Qlik
Qmeeting 2018 - Web Connectors para QlikRoberto Oliveira
 
QMeeting 2018 - Utilizando o Qlik core
QMeeting 2018 - Utilizando o Qlik coreQMeeting 2018 - Utilizando o Qlik core
QMeeting 2018 - Utilizando o Qlik coreRoberto Oliveira
 
QMeeting 2018 - Como integrar qlik e cloudera
QMeeting 2018 - Como integrar qlik e clouderaQMeeting 2018 - Como integrar qlik e cloudera
QMeeting 2018 - Como integrar qlik e clouderaRoberto Oliveira
 
Tuning de performance_qmeeting2018
Tuning de performance_qmeeting2018Tuning de performance_qmeeting2018
Tuning de performance_qmeeting2018Roberto Oliveira
 
Design para Analise de Dados - Thiago Pessato
Design para Analise de Dados - Thiago PessatoDesign para Analise de Dados - Thiago Pessato
Design para Analise de Dados - Thiago PessatoRoberto Oliveira
 
Carreiras em analise de dados
Carreiras em analise de dadosCarreiras em analise de dados
Carreiras em analise de dadosRoberto Oliveira
 
Data Science Qmeeting 2018
Data Science Qmeeting 2018Data Science Qmeeting 2018
Data Science Qmeeting 2018Roberto Oliveira
 
Modelagem de dados para Qlik Qmeeting 2018
Modelagem de dados para Qlik Qmeeting 2018Modelagem de dados para Qlik Qmeeting 2018
Modelagem de dados para Qlik Qmeeting 2018Roberto Oliveira
 
Mapas com qlik qmeeting 2018
Mapas com qlik qmeeting 2018Mapas com qlik qmeeting 2018
Mapas com qlik qmeeting 2018Roberto Oliveira
 
Machine learning qmeeting 2018
Machine learning qmeeting 2018Machine learning qmeeting 2018
Machine learning qmeeting 2018Roberto Oliveira
 
Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018Roberto Oliveira
 
CONHEÇA O POWER BI - QMEETING 2018
CONHEÇA O POWER BI - QMEETING 2018CONHEÇA O POWER BI - QMEETING 2018
CONHEÇA O POWER BI - QMEETING 2018Roberto Oliveira
 
Qmeeting Conceitos_qlik_sense_Pablo
Qmeeting Conceitos_qlik_sense_PabloQmeeting Conceitos_qlik_sense_Pablo
Qmeeting Conceitos_qlik_sense_PabloRoberto Oliveira
 
9 motivos para aprender small data
9 motivos para aprender small data9 motivos para aprender small data
9 motivos para aprender small dataRoberto Oliveira
 

Mais de Roberto Oliveira (20)

10 mandamentos do projeto de BI
10 mandamentos do projeto de BI10 mandamentos do projeto de BI
10 mandamentos do projeto de BI
 
Qmeeting 2018 - Utilizando Mashups no Qlik Sense
Qmeeting 2018 - Utilizando Mashups no Qlik SenseQmeeting 2018 - Utilizando Mashups no Qlik Sense
Qmeeting 2018 - Utilizando Mashups no Qlik Sense
 
Qmeeting 2018 - Web Connectors para Qlik
Qmeeting 2018 -  Web Connectors para QlikQmeeting 2018 -  Web Connectors para Qlik
Qmeeting 2018 - Web Connectors para Qlik
 
QMeeting 2018 - Utilizando o Qlik core
QMeeting 2018 - Utilizando o Qlik coreQMeeting 2018 - Utilizando o Qlik core
QMeeting 2018 - Utilizando o Qlik core
 
Datalakers 2018 Qmeeting
Datalakers 2018 QmeetingDatalakers 2018 Qmeeting
Datalakers 2018 Qmeeting
 
QMeeting 2018 - Como integrar qlik e cloudera
QMeeting 2018 - Como integrar qlik e clouderaQMeeting 2018 - Como integrar qlik e cloudera
QMeeting 2018 - Como integrar qlik e cloudera
 
Qmeeting Experts Hands on
Qmeeting Experts Hands onQmeeting Experts Hands on
Qmeeting Experts Hands on
 
Tuning de performance_qmeeting2018
Tuning de performance_qmeeting2018Tuning de performance_qmeeting2018
Tuning de performance_qmeeting2018
 
Design para Analise de Dados - Thiago Pessato
Design para Analise de Dados - Thiago PessatoDesign para Analise de Dados - Thiago Pessato
Design para Analise de Dados - Thiago Pessato
 
Carreiras em analise de dados
Carreiras em analise de dadosCarreiras em analise de dados
Carreiras em analise de dados
 
Data Science Qmeeting 2018
Data Science Qmeeting 2018Data Science Qmeeting 2018
Data Science Qmeeting 2018
 
Modelagem de dados para Qlik Qmeeting 2018
Modelagem de dados para Qlik Qmeeting 2018Modelagem de dados para Qlik Qmeeting 2018
Modelagem de dados para Qlik Qmeeting 2018
 
Mapas com qlik qmeeting 2018
Mapas com qlik qmeeting 2018Mapas com qlik qmeeting 2018
Mapas com qlik qmeeting 2018
 
Machine learning qmeeting 2018
Machine learning qmeeting 2018Machine learning qmeeting 2018
Machine learning qmeeting 2018
 
Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018
 
Abertura Qmeeting 2018
Abertura Qmeeting 2018Abertura Qmeeting 2018
Abertura Qmeeting 2018
 
CONHEÇA O POWER BI - QMEETING 2018
CONHEÇA O POWER BI - QMEETING 2018CONHEÇA O POWER BI - QMEETING 2018
CONHEÇA O POWER BI - QMEETING 2018
 
Qmeeting Conceitos_qlik_sense_Pablo
Qmeeting Conceitos_qlik_sense_PabloQmeeting Conceitos_qlik_sense_Pablo
Qmeeting Conceitos_qlik_sense_Pablo
 
O bi tradicional acabou!
O bi tradicional acabou!O bi tradicional acabou!
O bi tradicional acabou!
 
9 motivos para aprender small data
9 motivos para aprender small data9 motivos para aprender small data
9 motivos para aprender small data
 

QMeeting 2015 Pequenos erros, grandes problemas

  • 1. QMeeting 2015 Pequenos erros, grandes problemas! Yuri Nicolett
  • 2. A Qlik Technologies Inc. não é patrocinadora deste evento e não é responsável por qualquer conteúdo ou informação oferecida, este evento foi organizado pelos integrantes da comunidade de desenvolvedores Qlik e parceiros que desejam debater as melhores práticas com a plataforma e estreitar o relacionamento profissional.
  • 3. 05Unidades SP, DF, PE, RS, SA +70 Canais e Alianças 04 Premiações Qlik 10 ANOS
  • 4. • Especialista em Segurança da Informação • Especialista Qlik • Autor do Blog: blogdonicolett.com.br • Qlik MVP 2015
  • 5. Sua aplicação esta lenta? (Qlik-Wait-View) Sua aplicação faz o QvServer reiniciar? Os dados estão errados e você não sabe como?
  • 6. Uso do DISTINCT em união de tabelas.
  • 7. Uso do DISTINCT em união de tabelas
  • 8. Uso do DISTINCT em união de tabelas 900 750
  • 9. Uso do DISTINCT em união de tabelas
  • 10. Uso do DISTINCT em união de tabelas E se…. O comportamento do DISTINCT será aplicado na tabela final que a união resultará.
  • 11. Leitura de múltiplos arquivos em união de tabelas.
  • 12. Leitura de múltiplos arquivos em união de tabelas
  • 13. Leitura de múltiplos arquivos em união de tabelas E se…. Adicionarmos o nome da empresa?
  • 14. Leitura de múltiplos arquivos em união de tabelas E se…. Adicionarmos o nome da empresa?
  • 15. Leitura de múltiplos arquivos em união de tabelas E se…. A união ficará correta, pois a tabela NotaFiscal vai receber os dados da tabela Empresas somente após carregar todos os arquivos.
  • 16. Qual dessas expressões apresenta o melhor desempenho? SUM({$<Flag_True_or_False = {'-1'}>} Valor) SUM({$<Flag_True_or_Null = {'-1'}>} Valor) SUM({$<Valor = {'<=0,6000'}>} Valor) SUM(if( Valor<=0.6000, Valor)) SUM(Valor*Flag_True_or_False) 1 2 3 4 5
  • 17. Expressões booleanas são melhores que flags.
  • 18. Expressões booleanas são melhores que flags Em ciência da computação, booleano é um tipo de dado primitivo que possui dois valores, que podem ser considerados como 1 ou 0, falso ou verdadeiro. Wikipédia
  • 19. Expressões booleanas são melhores que flags Cenário… True() = -1 False() = 0
  • 20. Qual dessas expressões apresenta o melhor desempenho? SUM({$<Flag_True_or_False = {'-1'}>} Valor) SUM({$<Flag_True_or_Null = {'-1'}>} Valor) SUM({$<Valor = {'<=0,6000'}>} Valor) SUM(if( Valor<=0.6000, Valor)) SUM(Valor*Flag_True_or_False) 1 2 3 4 5 ms 187 187 156 234 218
  • 22. Leitura Otimizada de QVD Transformações Permitidas Renomear campos DISTINCT Exists OMIT Concatenate Transformações Não Permitidas JOIN Agregar campos Condições Where Funções
  • 24. Concatenar com leitura otimizada Tabela 1 Tabela 2 Tabela 3 Tabela 4 Tabela 5 A B C D E F A B C D E F A B C D E F A B C D E F A B C D E F
  • 25. Concatenar com leitura otimizada Tabela 5 Tabela 4 Tabela 3 Tabela 2 A A A A B B B B C C C D D E Tabela 1 A B C D E F
  • 26. Concatenar com leitura otimizada Tabela 1 Tabela 2 Tabela 3 Tabela 4 A A A A B B B B C C C D D E Tabela 5 A B C D E F
  • 27. Concatenar com leitura otimizada Cenário… Leitura Otimizada Leitura Otimizada Leitura não otimizada de um registro Leitura Otimizada
  • 28. Se isso, senão aquilo...
  • 29. Se isso, senão aquilo... Ou…
  • 30. Se isso, senão aquilo... Possíveis soluções – Condicional da Expressão
  • 31. Se isso, senão aquilo... Possíveis soluções – Expansão do sinal de dólar
  • 32. Se isso, senão aquilo... Possíveis soluções – Expansão do sinal de dólar
  • 33. Se isso, senão aquilo... Possíveis soluções – Expansão do sinal de dólar
  • 34. Como devem ser minhas chaves?
  • 35. Como devem ser minhas chaves? Concatenadas? Hash?
  • 36. Como devem ser minhas chaves? A Tabela de Símbolos
  • 37. Como devem ser minhas chaves? A Tabela de Símbolos - Características 1. Será criada uma tabela de símbolos por coluna carregada 2. Uma linha para cada valor distinto 3. O ponteiro possui a quantidade mínima necessária de bits (de acordo com seu tamanho)
  • 38. Como devem ser minhas chaves? O que faz a tabela de símbolos crescer? 1. A quantidade de colunas 2. A quantidade de linhas não distintas 3. O tamanho dos valores/strings
  • 39. Como devem ser minhas chaves? Concatenadas? Hash? USE CHAVES CONCATENADAS APENAS NO DESENVOLVIMENTO PARA FACILITAR A VALIDAÇÃO DOS DADOS! HASH DEVE SER CRIADO NA APLICAÇÃO FINAL.
  • 40. Sua aplicação esta lenta? (Qlik-Wait-View) Sua aplicação faz o QvServer reiniciar? Os dados estão errados e você não sabe como?
  • 41. 1. Mantenha a Calma! 2. Remova colunas não utilizadas 5. Identifique e melhore expressões pesadas 8. Verifique o tipo de chaveamento 9. Campos distintos 10. Identifique variáveis iniciadas com o sinal de igual 3. Remova dimensões calculadas 4. Identifique melhorias de modelagem 6. Crie condicionais de cálculos/pré filtros. 7. Verifique o número de gráficos ativos na mesma tela