【00】SQL查询优化

本文深入探讨了查询优化的广义与侠义内容,包括查询重用技术、查询重写规则、算法优化、并行与分布式优化。同时,文章详细阐述了数据库调优的多个阶段,从需求分析到上线维护,涵盖人工调优、基于案例调优、自调优等不同类型。
1、查询优化的广义内容

     查询重用技术(重用查询结果、重用查询计划)、查询重写规则(关系代数、启发式规则、子查询优化等)、查询算法优化(单表扫描、两表连接、多表连接)、并行查询优化、分布式查询优化、其他优化

2、查询优化的侠义内容
(1)代数优化,即逻辑优化

     依据关系代数的等价变换做一些逻辑变换,比如查询重写规则,运用关系代数和启发式规则

(2)非代数优化,即物理优化

     根据数据读取、表连接方式、表连接顺序、排序等技术对查询进行优化,比如查询算法优化,运用了基于代价估算的多表连接算法求解最小花费的技术。


3、数据库调优
(1)类型

    A、人工调优

    B、基于案例调优

    C、自调优

(2)阶段
    A、需求分析阶段(应用估算、系统选型)

         读多写少,还是读写均匀,是否读写分离等,区分是事务型应用还是分析型应用,系统最大并发量/压力值等

    B、项目设计期(数据模型设计)

         单机、集群、数据库选型等

    C、开发期(sql设计)

         ER模型设计、逻辑分布策略(分库、分区、分表)、物理存储策略(日志与数据存储分开等减少IO)、索引(在查询频繁的对象上建立合适的索引),编写正确、高效的sql语句。

    D、测试与试运行(模型系统预运行)

         查询重用、数据库参数配置、压力测试等


    E、上线和维护(系统监控与分析)

         应用系统表现、操作系统环境监控(内存、CPU、IO)、数据库内部状态监控、日志分析(慢查询、异常事件等)



转载于:https://my.oschina.net/scipio/blog/290094

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值