|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/tuning-em-t-sql/
课程评论:没有评论
SQL Server 性能优化开发课程:告别慢查询,拥抱秒级响应! 本课程专为 SQL Server 开发人员打造,旨在解决您在应对“一分钟以上”的慢查询时的困扰。通过学习 SQL 调优(SQL Tuning)的艺术,您将掌握提升数据库查询性能和 T-SQL 代码效率的秘诀。课程包含超过 25 个简单有效的技巧、窍门和技术,帮助您构建高性能、高效率的数据库查询。 **为什么 SQL 调优至关重要?** 在各种企业系统(如 SAP、Siebel)、电子商务平台、个人财务管理应用等场景中,高性能的数据库是数据存储的基石。应用程序开发人员面临的挑战是确保信息以最快的速度被检索,因为用户期望快速的响应,这直接影响着您的应用或网站的成功。 **导致慢查询的常见原因:** * **低效的代码:** mal escritas 编写不当或不遵循最佳实践的 SQL 语句。 * **不合理的列定义:** 占用不必要空间的列定义。 * **磁盘 I/O 瓶颈:** 数据库与操作系统共享同一块磁盘。 * **糟糕的索引策略:** 表缺乏索引、索引设计不当或索引过时。 * **不必要的类型转换:** 数据类型转换消耗额外资源。 * **硬件和配置问题:** 硬件资源不足、操作系统配置不当、磁盘阵列配置错误、数据库管理系统配置不合理。 * **数据量的增长:** 数据库中数据量随着时间不断增加。 * **并发用户增加:** 应用和系统的连接数和用户数量增长。 * **实例资源共享:** 实例中数据库数量增多,导致硬件资源共享加剧。 **SQL 调优的流程与实践:** SQL 调优并非一门精确的科学,但遵循正确的步骤可以获得最佳结果。 1. **环境监控:** 使用“性能监视器”(Performance Monitor)和“资源监视器”(Resource Monitor)等 Windows 工具,以及 SQL Server 的 Profiler、Extended Events 和 DMVs 来识别潜在问题。 2. **数据分析与报告:** 收集系统状态、指标、低性能查询、资源消耗高的查询、利用率低或过时的索引、大量顺序扫描的表等信息,并生成报告。 3. **应用调优技术:** 基于分析报告,应用课程教授的各种调优技术。 4. **测试与验证:** **至关重要的一步!** 在 QA 或预生产环境中彻底测试所有更改,以验证其效果。 5. **生产环境部署:** 将经过验证的优化措施部署到生产环境。**建议:** 不要一次性实施所有技术,每次只实施一项,以便出现问题时能够快速定位。 6. **持续监控与迭代:** SQL 调优是一个持续的循环,应定期作为最佳实践进行。 **课程将涵盖的亮点(部分):** * SQL Server 内存配置 * 多磁盘数据库创建 * 正确理解数据类型和大小 * 特定磁盘上的表创建 * 创建高效利用空间的表 * 计算列的使用 * 表压缩技术 * 数据页的工作原理 * 读取时间与读取统计信息 * 查看正在执行的命令 * 服务器和数据库监控 * 执行计划分析 * 定义带索引的主键 * 定义带索引的外键 * 创建覆盖索引 * 识别大量扫描(SCAN)和少量查找(SEEK)的表 * 覆盖索引(Covering Index)的使用 * 识别过时或未使用的索引 * 避免页面拆分(Page Splits) * 创建高性能 SARGable 查询 * 转化非 SARGable 查询 * 消除显式数据类型转换 * UDT 的最佳实践 * 存储过程(Store Procedures)中 NOCOUNT 的正确使用 * 更新数据时的验证逻辑 * 存储过程命名规范 * 变量赋值是使用 SET 还是 SELECT * 使用 UNION ALL 替代 UNION 本课程包含超过 50 节课程,旨在为您提供实用的 SQL Server 性能优化知识和最佳实践。期待您在课程中有所收获!
Você que o Desenvolvedor em SQL Server é está cansado de esperar a sua query demorar mais de 1 minuto para executar. E se você aprender que ela pode ser executada em 1 segundo com SQL Tuning? Neste curso você vai aprender os conceitos e as bases para criar suas consultas de banco de dados com alta performance e com códigos altamente eficientes em T-SQL utilizando o SQL Server com as mais de 25 dicas, truques e técnicas simples e eficazes. A arte de SQL Tuning das consultas é um dos pontos máximo para o Desenvolvedor em banco de dados. Diversos sistemas empresariais (SAP ou Siebel, por exemplo), lojas de eCommerce, aplicações web como gestores de finanças pessoais, entre outros sempre necessitam de um banco de dados de alta performance para seu repositórios de dados. E o desafio dos desenvolvedores de aplicativos é garanticr que as informações sejam recuperadas no menor tempo possível. As pessoas precisam e querem respostas rápidas e isso pode ser determinante para que a sua aplicação ou o site da sua empresa tenha sucesso. Vários fatores no código SQL podem contribuir para que consultas ou relatórios apresentem lentidão e baixa performance. Entre elas temos: Instruções mal escritas ou não respeitando boas práticas; Colunas mal definidas e ocupando espaços desnecessários; O banco de dados alocado em um único disco concorrendo com o sistema operacional; Tabelas sem índices, índice mal dimensionado ou obsoleto; Conversões de dados desnecessários; Outros pontos podem influenciar o desempenho do acesso aos dados: Hardware mal dimensionado; Instalação e configuração do sistema operacional não estão de acordo com boas práticas para banco de dados; Dimensionamento errado dos conjuntos de discos; Instalação e configuração do gerenciador de banco de dados. Complemento a lista, você deve considerar ainda: O aumento gradativo da massa de dados que está em constante aumento no banco de dados; O aumento de conexões e usuários nas aplicações e sistemas; O número de bancos de dados que são incluídos na instância e aumenta o compartilhamento de recursos do hardware. SQL TuningMas atividade de realizar SQL tuning não é uma ciência exata onde um ajuste de desempenho sempre terá um efeito positivo. Existem vários procedimentos que devem ser seguidos a fim de obter o melhor resultado. Você deve monitor o ambiente para identificar os possíveis problemas. Ferramentas como "Performance Monitor" e "Resource Monitor" do Windows ajudam no monitoramento. No SQL Server, podemos usar o Profiler, Extended Events e as DMVs para monitorar os comandos e recursos do servidor. Com base nos dados capturados, você deve elaborar um relatório para apresentar o status do sistema, métricas colhidas, consultas com baixo desempenho e alto consumo de recursos, índices com pouco utilização ou obsoletos, tabelas que sofrem muitas pesquisas sequencias e poucas pesquisas pontuais, discos com alta taxa de utilização são alguns exemplos. Com base nos dados apresentados, você deve iniciar a aplicação das técnicas aprendidas nesse treinamento e testar. O importante e correto é aplicar os procedimentos em um ambiente de QA ou Homologação e testar a fim de validar se o que foi aplicado surtiu o resultado esperado. Teste muito antes de colocar em ambiente de produção. Implementar o que foi validado nos teste em ambiente de produção. A dica aqui é não implementar todas as técnicas de uma só vez. Se algo de errado acontecer, você não saberá qual das implementações não funcionou. Esse processo será demorado e em certos casos será necessário interromper o serviço de banco de dados. E isso é um ciclo constante, que deve ser aplicado periodicamente como uma boa prática. Nosso objetivo nesse treinamento é apresentar técnicas e boas práticas no desenvolvimento de diversos comandos em SQL. Algumas dicas que você aprenderá: Configurar a memória do SQL Server;Criar o banco de dados em vários discos;Entender tipo e tamanho dos dados corretos;Criar tabelas em discos específicos;Criar tabela para ocupar o menor espaço;Aprender a criar colunas calculadasCompactar tabelas;Entender como funciona uma página de dados;Ler estatísticas de tempo e leituraVisualizar os comandos em execução;Monitorar o seu servidor e banco de dados;Analisar os planos de execução de comandos;Como definir uma chave primária com índice;Como definir uma chave estrangeira com índice;Criando índice composto para cobrir todas as pesquisas;Identificar tabelas quem tem mais SCAN e poucos SEEK;Utiliza o conceito de índice de cobertura;Como identificar os índices obsoletos e que não são utilizados;Como evitar as quebras de páginas (pages splits);Criar pesquisas SARG com alto desempenho;Transformar pesquisas para SARG;Eliminar as conversões explícitas de dados;Melhores práticas para utilizar as UDF;O uso correto para NOCOUNT em Store Procedures;Quando validar dados para atualizações;Definir o nome correto para store procedures;Quando utilizar SET ou SELECT para atribuir valor a variável.Utilizar UNION ALL no lugar de UNION;Essas são algumas das dicas que estarão no nosso treinamento como outras que serão apresentados juntos com as mais de 50 aulas que teremos.Espero que goste do nosso treinamento e que aproveite ao máximo com o aprendizado.Obrigado.Wolney.