Performance Sql Server

723 visualizações

Publicada em

Palestra na ALFAMIDIA sobre configuracoes de desempenho em SQLServer.

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
723
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Performance Sql Server

  1. 1. Objetivo: - Destacar pontos para a performance em sistemas com SQLServer, tanto na parte de estrutura física quanto de estrutura lógica, incluindo pontos de continência, rede de dados, queryes, ambiente SQLServer e programação.
  2. 2. <ul><li>Agenda: </li></ul><ul><ul><li>Infra-estrutura </li></ul></ul><ul><ul><ul><li>Instâncias </li></ul></ul></ul><ul><ul><ul><li>File Groups </li></ul></ul></ul><ul><ul><ul><li>Universo de Dados </li></ul></ul></ul><ul><ul><ul><li>Logs </li></ul></ul></ul><ul><ul><ul><li>Rede </li></ul></ul></ul><ul><ul><li>Estrutura Lógica </li></ul></ul><ul><ul><ul><li>Registro </li></ul></ul></ul><ul><ul><ul><li>View Indexada </li></ul></ul></ul><ul><ul><ul><li>Índices </li></ul></ul></ul><ul><ul><ul><li>Programação </li></ul></ul></ul><ul><ul><li>Baseline </li></ul></ul><ul><ul><li>SQLServer 2005 </li></ul></ul><ul><ul><li>Referências </li></ul></ul><ul><ul><ul><li>Livros </li></ul></ul></ul><ul><ul><ul><li>Links </li></ul></ul></ul><ul><ul><ul><li>Outros Tópicos </li></ul></ul></ul>
  3. 3. Estrutura Física Ações para o ambiente de apoio aos sistemas. Atividades de Suporte e Tecnologia.
  4. 4. Estrutura Física/Instâncias <ul><li>Característica: </li></ul><ul><li>Até 16 instâncias em uma mesma máquina. </li></ul><ul><li>Por quê: </li></ul><ul><li>Separar processos entre os databases; </li></ul><ul><li>Processos de Performance para cada instância; </li></ul><ul><li>TempDB separada </li></ul><ul><li>Tempos de Backup </li></ul>
  5. 5. Infra-Estrutura/File Groups
  6. 6. Infra-Estrutura/Universo de Dados <ul><li>Definir tempo para dados mais acessados (normalmente 3 meses) </li></ul><ul><li>Definir tempo de Armazenagem (normalmente 5 anos) </li></ul><ul><li>Eliminar logs do sistema </li></ul><ul><li>Definir processo de Archiving </li></ul>Histórico Produção Relatórios BI
  7. 7. Infra-Estrutura/Logs Trace flag -1 Trace flag 1204 Trace flag 1205 Trace flag 1807 Trace flag 3604 Trace flag 3608 Trace flag 8202 sp_cycle_errorlog
  8. 8. Infra-Estrutura/Rede SAN/NAS Rede de Backup Rede de Dados OS Databases Log
  9. 9. Estrutura Lógica Ações para o ambiente do Banco de Dados. Atividades para o DBA ou responsável pelo sistema.
  10. 10. Estrutura Lógica/Registros Um database é uma coleção de páginas lógicas de 8KB, e estas páginas são a unidade fundamental de armazenamento e de I/O, além de ser a unidade básica para locking. Porém o SQLServer aloca estas páginas através de Extents – que é o agrupamento lógico de 8 páginas de 8KB (64 KB). Uma Extent pode ser Uniform ou Mixed: Uniform: toda as 8 páginas da Extent são alocadas para um único tipo de objeto, uma tabela por exemplo. Mixed: Cada página pode ser alocada somente para um único objeto, porém podemos ter diferentes objetos na Extent Mixed. Por exemplo, podemos ter oito tabelas na Extent. A razão para ter dois tipos de Extent é para garantir que todas as oito páginas não sejam utilizadas para tabelas pequenas. Quanto os dados começam a ser inseridos, se completarem todas as oito páginas, a partir da nona página, o SQLserver irá colocar em uma Extent Uniform. 1 2 3 4 5 7 6 8
  11. 11. Estrutura Lógica/View Indexada Aumento de performance na seleção dos dados!
  12. 12. Estrutura Lógica/Índices Analisar a tabela e os acessos (INSERT, DELETE, UPDATE) <ul><li>Tabelas com poucos registros </li></ul><ul><li>Campos com pouca seletividade (muita repetição de valores) </li></ul><ul><li>Campos com tamanho total maior que 25 bytes. </li></ul><ul><li>Campos não usados em QUERIES </li></ul><ul><li>Tabelas com alta taxa de INSERT e DELETE </li></ul><ul><li>Campos utilizados em JOINS </li></ul><ul><li>Campos utilizados em QUERIES como RANGE, GROUP BY e ORDER BY. </li></ul><ul><li>Campos utilizados com AGGREGATE FUNCTIONS, como SUM, AVG, etc. </li></ul><ul><li>Procurar NUNCA indexar </li></ul><ul><li>Procurar SEMPRE indexar </li></ul>
  13. 13. Estrutura Lógica/Programação <ul><li>Evitar recompilações em Stored Procedures ( KEEPFIXED PLAN) – analisar com Query Analyzer; ( Q243586 INF : Troubleshooting Stored Procedure Recompilation) </li></ul><ul><li>Código curto, se possível; </li></ul><ul><li>Evitar utilizar CURSORES; </li></ul><ul><li>Utilizar Tabelas Derivadas </li></ul>
  14. 14. Baseline
  15. 15. SQLServer 2005
  16. 16. <ul><li>Links: </li></ul><ul><ul><li>www.sqlmag.com </li></ul></ul><ul><ul><li>www.sql-server-performance.com </li></ul></ul><ul><ul><li>www.swyink.com </li></ul></ul><ul><ul><li>www.microsoft.com/sql/evaluation/sysreqs/2000/default.asp </li></ul></ul><ul><li>Livros: </li></ul><ul><ul><li>Microsoft Hitchhiker’s Guide to Visual Basic & SQLServer </li></ul></ul><ul><ul><li>William R.Vaughn </li></ul></ul><ul><ul><li>Microsoft SQLServer 2000 – DBA Guia de Sobrevivência </li></ul></ul><ul><ul><li>Mark Spenik, Orryn Sledge </li></ul></ul><ul><ul><li>SAMS – Campus </li></ul></ul><ul><ul><li>Microsoft SQLServer Performance, Optimization and Tunning </li></ul></ul><ul><ul><li>Ken England </li></ul></ul><ul><ul><ul><li>SQLServer Books OnLine </li></ul></ul></ul><ul><ul><ul><li>Microsoft </li></ul></ul></ul><ul><ul><li>Redes de Computadores </li></ul></ul><ul><ul><li>Andrew Tanenbaum </li></ul></ul>Outros Tópicos: Locks/Deadlocks Comandos de Ambiente (SET DEADLOCK_LOW PRIORITY) Views Particionada Restrição em Views Modelo ER Transações Front-End Query Analyzer Performance Monitor Configuração do SQLServer SP_EXECUTESQL Funções Constraints N-Tier
  17. 17. [email_address]

×