数据库调优

Posted qingyunye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库调优相关的知识,希望对你有一定的参考价值。

影响性能因素

  • 数据库结构设计
  • T-SQL语句
  • 数据量大
  • 事务和隔离级别
  • 硬件资源
  • IO阻塞
    • 批量删除表数据:大量删除时会记录到日志中,也会造成IO阻塞

优化和注意事项

  • 了解业务
  • 优先考虑第三范式设计,参考设计范式
  • 表关联尽可能少
  • 坚持最小原则
  • 在适当的地方使用约束
  • 用户数据和日志文件隔离存放

T-SQL语句优化

  • 索引
    • 索引列不能为空
    • sql语句时索引字段不要计算,计算会取消索引
    • with指定索引(复杂的表多索引时可以强制指定索引)
  • 条件:从左边开始,先写最小条件锁定最少数据
  • 以小表关联大表
  • SQL语句尽量简单

执行计划

点击开启【包括实际的执行计划】

技术图片

执行计划关键字理解

  • 表扫描:就是扫描整个表全部数据,最耗时性能最低的

执行计划查看顺序

从右到左,从下到上

 

以上是关于数据库调优的主要内容,如果未能解决你的问题,请参考以下文章

Spark篇---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优

Day810.MySQL调优之事务:高并发场景下的数据库事务调优 -Java 性能调优实战

[大数据性能调优] 第一章:性能调优的本质Spark资源使用原理和调优要点分析

MYSQL数据库性能调优之一:调优技术基础

Spark学习之路 SparkCore的调优之数据倾斜调优

Spark性能调优——扩展篇