首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数据库与编程

    查询优化概念:关于优化组件

    本篇是如何调优 Oracle SQL系列文章第五篇:查询优化概念之关于优化组件。 优化包含:查询转换(Query Transformer)、估算(Estimator)和执行计划生成器(Plan Generator)三个组件。 一组查询块表示已分析的查询,它是优化的输入。 下表描述了优化操作。 序号 操作 描述 1 Query Transformer 优化程序确定更改查询形式是否有帮助,以便优化程序可以生成更好的执行计划。 2.3 Cost(成本) 优化成本模型负责预测查询将使用的机器资源。 成本是一个内部数字度量,表示计划的估计资源使用量。成本是特定于优化环境中的查询的。 优化选择成本最低的计划。 下图显示优化测试输入查询的不同计划。

    2K50编辑于 2022-04-24
  • 来自专栏数据库与编程

    查询优化概念—查询优化介绍

    如何调优 Oracle SQL系列文章第四篇:查询优化概念之查询优化介绍。 第一篇:SQL调优系列文章之—SQL调优简介 第二篇:SQL调优系列文章之—SQL性能方法论 第三篇:查询优化基础知识—SQL语句处理过程 4 查询优化概念 本章描述了与查询优化相关的最重要的概念 4.1 查询优化介绍 查询优化(简称为优化)是内置数据库软件,用于确定 SQL 语句访问请求数据的最有效方法。 4.1.1 查询优化的用途 优化程序尝试为 SQL 语句生成最佳执行计划。 出于这个原因,优化有时被称为基于成本的优化(CBO),以将其与基于规则的优化(RBO)进行对比。 注意: 优化程序可能不会从一个版本的Oracle数据库到下一个版本做出相同的决策。 4.1.3.3 优化的类比 优化可以比作是在线旅行顾问。 骑自行车的人想要知道从A点到B点的最有效的自行车路线。

    2.1K20编辑于 2022-04-24
  • 来自专栏python前行者

    优化Optimizer

    深度学习常见的是对于梯度的优化,也就是说,优化最后其实就是各种对于梯度下降算法的优化。 理论部分可以见斯坦福深度学习的课程。 这里推荐一个博客,总结了这些优化的原理以及性能,写的挺好的:An overview of gradient descent optimazation algorithms 从其中讲几个比较常用的,其他的可以自己去看文档 MomentumOptimizer AdamOptimizer FtrlOptimizer RMSPropOptimizer 常用的optimizer类 tf.train.Optimizer 优化 2.速度更快 tf.train.GradientDescentOptimizer 这个类是实现梯度下降算法的优化。 (update operations.)使用锁 name: 名字,可选,默认是”GradientDescent”. tf.train.AdadeltaOptimizer 实现了 Adadelta算法的优化

    1.1K40发布于 2019-03-25
  • 来自专栏腾讯数据库技术

    MySQL优化和SemiJoin优化

    MySQL执行流程 MySQL的执行过程包括多个子阶段:语法分析、语义检查、逻辑优化、物理优化和执行。其中逻辑优化和物理优化统称为查询优化。一个查询优化的输入是查询树,输出是查询执行计划。 ? 逻辑优化也称为基于规则的查询优化(Rule Based Optimization,简称RBO)。主要是对查询进行逻辑上的等价变换,目的是通过这些变换提高查询的性能。 物理优化也称为基于代价的查询优化(Cost-based Optimization,简称CBO)。主要是通过一些模型,预测一个查询使用某种执行计划时的成本,并选择其中成本最小的一个。 1.2. In子查询转SemiJoin的优化方法 2.1 优化方法 通用的转换格式如下: SELECT ... 外部查询没有STRAIGHT_JOIN(错) 关键字STRAIGHT_JOIN表明,该查询的JOIN顺序不需要优化,按照原来SQL的顺序依次进行。 MYSQL官方文档说有限制,经测试没有限制。

    2.8K81发布于 2019-05-16
  • 来自专栏Python与算法之美

    优化optimizers

    本篇我们介绍优化。 一,优化概述 机器学习界有一群炼丹师,他们每天的日常是: 拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了。 一些爱写论文的炼丹师由于追求评估指标效果,可能会偏爱前期使用Adam优化快速下降,后期使用SGD并精调优化参数得到更好的结果。 二,优化的使用 优化主要使用apply_gradients方法传入变量和对应梯度从而来对给定变量进行迭代,或者直接使用minimize方法对目标函数进行迭代优化。 当然,更常见的使用是在编译时将优化传入keras的Model,通过调用model.fit实现对Loss的的迭代优化。 初始化优化时会创建一个变量optimier.iterations用于记录迭代的次数。因此优化和tf.Variable一样,一般需要在@tf.function外创建。 ? ? ? ? ? ? ?

    1.1K20发布于 2020-07-20
  • 来自专栏又见苍岚

    Adam 优化

    Adam 是深度学习中常用的优化,我在使用时遇到了一点问题,弄清楚后记录下来。 Adam Adam(Adaptive Moment Estimation)优化是一种广泛使用的优化算法,在深度学习训练中特别流行。 下面是 Adam 优化的工作原理的简要概述: 动量(Momentum): Adam 优化计算梯度的指数加权移动平均(也称为一阶矩估计),这有助于加速梯度下降过程中的收敛速度,并帮助克服局部最小值和鞍点 : 我的优化 A 同时管理参数 B, C,但是在某一阶段的网络训练中,我确定 C 不会参与梯度回传,需要 A 优化 B 中的参数即可。 问题解决 找到原因就好办了,源码中会对优化管理的参数做一个筛选,如果当前参数没有 grad 信息,那么优化会将其跳过,所以训练前把所有优化中参数的 grad 设置为 None(不是置零)即可。

    2.7K10编辑于 2024-01-13
  • 来自专栏朱永胜的私房菜

    MySQL优化

    MySQL优化 MySQL优化是数据库管理系统中的一个核心组件,负责将SQL查询语句转换为最有效的执行计划。优化的目标是减少查询的响应时间并提高数据库的吞吐量。 以下是一些关键点,用于理解和优化MySQL优化的工作。 理解MySQL优化 MySQL优化器使用多种统计信息和算法来决定如何执行一个查询。 优化MySQL优化 为了优化MySQL优化的性能,可以采取以下措施: 1. 索引优化 创建合适的索引:确保对经常查询的列创建索引。 使用优化提示 索引提示:可以通过 USE INDEX或 FORCE INDEX来指导优化器使用特定的索引。 结论 优化MySQL优化是一个持续的过程,需要不断地监控、分析和调整。通过理解优化的工作原理和采取适当的优化措施,可以显著提高数据库的性能。

    28010编辑于 2024-01-05
  • 来自专栏腾讯云数据库(TencentDB)

    MySQL优化和SemiJoin优化

    MySQL执行流程 MySQL的执行过程包括多个子阶段:语法分析、语义检查、逻辑优化、物理优化和执行。其中逻辑优化和物理优化统称为查询优化。一个查询优化的输入是查询树,输出是查询执行计划。 ? 逻辑优化也称为基于规则的查询优化(Rule Based Optimization,简称RBO)。主要是对查询进行逻辑上的等价变换,目的是通过这些变换提高查询的性能。 物理优化也称为基于代价的查询优化(Cost-based Optimization,简称CBO)。主要是通过一些模型,预测一个查询使用某种执行计划时的成本,并选择其中成本最小的一个。 2. In子查询转SemiJoin的优化方法 1. 优化方法 通用的转换格式如下: SELECT ... 外部查询没有STRAIGHT_JOIN(错) 关键字STRAIGHT_JOIN表明,该查询的JOIN顺序不需要优化,按照原来SQL的顺序依次进行。 MYSQL官方文档说有限制,经测试没有限制。

    1.6K40发布于 2019-05-16
  • 来自专栏数据库与编程

    查询优化概念:关于自动调整优化及自适应查询优化

    本篇是如何调优 Oracle SQL系列文章第六篇:查询优化概念:关于自动调整优化及自适应查询优化 1、关于自动调整优化 优化根据调用方式执行不同的操作。 在选择最终计划之后,优化将其用于后续执行,从而确保不重用次优计划。 2.1.2 自适应查询计划如何工作 自适应计划包含多个预先确定的子计划和优化统计信息收集。 这些统计数据帮助优化在多个子计划之间做出最终决策。 在语句执行期间,统计信息收集收集关于执行的信息,并缓冲子计划接收到的一些行。根据收集观察到的信息,优化选择一个子计划。 如果行数低于优化确定的阈值,则优化选择嵌套循环连接;否则,优化将选择散列连接。在本例中,来自order_items表的行数高于阈值,因此优化为最终计划选择一个散列连接,并禁用缓冲。 优化可以对表扫描、索引访问、连接和按操作分组使用动态统计信息,从而提高优化决策的质量。 2.2.2 自动重新优化 在自动重新优化中,优化程序在初始执行后更改后续执行的计划。

    2K10编辑于 2022-04-24
  • 来自专栏小工匠聊架构

    Oracle优化04-Optimizer优化

    ---- Optimizer概述 Oracle数据库中的优化是SQL分析和执行的优化工具,它负责制定SQL的执行计划,也就是它负责保证SQL执行效率最高. 这些因素直接决定着SQL的执行效率,所以优化是SQL执行的核心,它做出的执行计划的好坏,直接决定了SQL的执行效率。 Oracle的优化有两种 RBO 基于规则的优化 CBO 基于代价的优化 从ORACLE10G开始,RBO已经被弃用(但是我们依然可以通过HINT的方式使用它)。 ---- RBO(Rule Based Optimizer) RBO概述 在8i之前,ORACLE使用RBO(Rule Based Optimizer 基于规则的优化优化。 可见,RBO是一种非常粗放型的优化。 ---- 案例说明 思考:表中有索引,数据就必须选择索引吗?

    1.6K20发布于 2021-08-16
  • 来自专栏罗西的思考

    PyTorch分布式优化(2)----数据并行优化

    [源码解析] PyTorch分布式优化(2)----数据并行优化 目录 [源码解析] PyTorch分布式优化(2)----数据并行优化 0x00 摘要 0x01 前文回顾 0x02 DP 之中的优化 2.1 流程 2.2 使用 0x03 DDP 之中的优化 3.1 流程 3.2 优化状态 3.3 使用 0x04 Horovod 的优化 4.1 hook 同步梯度 4.1.1 注册 hooks 数据并行之中的优化就是另外一种情况,因为每个worker自己计算梯度,所以优化主要技术难点是: 每个worker有自己的优化?还是只有一个worker才有优化,由他统一做优化? 每个进程拥有自己独立的优化优化也是常规优化。 这里有两个特点: 每个进程维护自己的优化,并在每次迭代中执行一个完整的优化步骤。 DDP 与优化实际上没有关联,DDP不对此负责,所以需要用户协同操作来保证各进程之间的优化状态相同。这就围绕着两个环节: 优化参数初始值相同。

    1.3K30编辑于 2021-12-09
  • 来自专栏磐创AI技术团队的专栏

    使用 Optuna 优化你的优化

    使用网格搜索、随机、贝叶斯和进化算法等不同的采样来自动找到最佳参数。让我们简要讨论一下 Optuna 中可用的不同采样。 网格搜索:搜索目标算法整个超参数空间的预定子集。 5)快速可视化:各种可视化功能也可用于可视化分析优化结果。 在开始本教程之前,我们必须了解一些 Optuna 术语和约定。 Optuna 术语 在 Optuna 中,有两个主要术语,即: 1) Study:整个优化过程基于一个目标函数,即研究需要一个可以优化的函数。 2) Trial:优化函数的单次执行称为trial。 做“学习”,优化! 在使用“trial”模块定义目标函数并找到超参数后,我们都准备好进行调整了。 只需 2 行代码,所有的超参数调优就可以完成了! 因此剪枝可以提高最终分类的复杂性并防止过度拟合。Optuna 中提供了对多个流行 ML 框架的集成,用户可以使用它在超参数训练期间尝试剪枝。

    3.1K30发布于 2021-10-27
  • 来自专栏SQL查询优化

    SQL查询优化

    背景 一般的,数据库管理系统(DBMS)有通用的架构模型,可分为四个模块:传输通信、查询处理、执行引擎、存储引擎。其中查询处理包括查询解析和查询优化,而查询优化是实现SQL计划树优化的核心。 优化分类 随着查询优化的发展,提出不同"based"的优化,包括 RBO(Rule-based Optimizer)、CBO(Cost-based Optimizer)、HBO(History-based 主流的查询优化分类,一般仅分为两大类:RBO优化和CBO优化。目前,业界通用的数据库系统,其优化也至少包括RBO和CBO优化,结合两者进行计划树优化。 在优化内不在维护规则列表,而是使用规则引擎,规则引擎可基于输入的计划树,匹配出可优化使用的规则列表,即为声明式规则(优化生成器)。 但优化规则较多时,搜索耗时较长或卡主。 总结 本文围绕SQL查询优化进行展开说明,分别介绍优化分类、优化框架、优化模型。

    1.5K73编辑于 2024-06-30
  • 来自专栏叁金大数据

    SQL优化简介

    虽然加索引并不一定能解决问题,但是这初步的体现了SQL优化的思想。 而数据库主要由三部分组成,分别是解析优化和执行引擎。 ? 其执行逻辑是我们输入的SQL语句通过解析解析成关系表达式,通过优化把关系表达式转换成执行计划,最终通过执行引擎进行执行。所以优化在很大程度上决定了一个系统的性能。 优化的作用就好比找到两点之间的最短路径。 上篇文章我们提到了Calcite,Calcite本身就支持两种优化方式分别是RBO和CBO。 RBO RBO(Rule-Based Optimizer) 基于规则的优化。是根据已经制定好的一些优化规则对关系表达式进行转换,最终生成一个最优的执行计划。 CBO CBO(Cost-Based Optimizer)基于代价的优化。根据优化规则对关系表达式进行转换,生成多个执行计划,最后根据统计信息和代价模型计算每个执行计划的Cost。

    1K20发布于 2019-03-15
  • 来自专栏Calcite剖析

    Calcite系列(九):执行流程-优化优化

    背景介绍 优化优化是SQL处理的第四步,也是最核心的一步,优化优化本质是基于优化规则实现关系代数等价转换。 目前,Calcite内置两类优化: HepPlanner:RBO(Rule-based Optimizer)基于规则的优化,将计划树构建为DAG有向无环图,按顺序依次遍历并执行优化规则 VolcanoPlanner ,构造出对应的等价RelNode 在Calcite中,各类优化都基于相同的规则应用机制实现计划树等价转换,不同优化的主要差异在于规则匹配策略和等价节点构建的方式不同。 总结 查询优化不仅是Calcite项目的核心模块,也是整体数据库系统的核心构建。一个好的查询优化,可以优化SQL的执行计划逻辑,以更优、更高效的方式下发执行。 本文介绍了Calcite优化模块的执行详情,主要包括:优化规则、RBO优化执行原理、CBO优化执行原理、统计元数据等。

    1.8K74编辑于 2024-05-10
  • 来自专栏bisal的个人杂货铺

    Oracle优化的“短路”

    我们知道,Oracle软件最核心的组件就是优化,可以说他决定了一条SQL能否正确执行的路径,这两天就碰到了一个场景。 优化的处理,还是很具备逻辑性的,值得学习。

    34620发布于 2021-09-06
  • 来自专栏程序员同行者

    优化mysql服务

    一、使用show variables 和show status 命令查看MySQL的服务静态参数值和动态运行状态信息。

    2.2K20发布于 2018-06-22
  • 来自专栏开发三两事

    MySQL查询优化浅析

    MySQL的查询优化是其能够高效处理SQL查询的关键所在。本文将详细剖析优化的工作原理,以及执行计划生成和代价评估的实现方法。 一、查询处理概述在MySQL中,一个查询需要经过如下几个阶段才能最终被执行:客户端发送SQL语句到MySQL服务查询解析进行语法解析,检查查询的正确性优化生成查询执行计划执行引擎根据计划执行查询返回结果给客户端其中 五、优化优化规则除了执行计划的生成和代价评估,优化还会应用各种优化规则来改进计划:扫描方式优化:选择索引扫描或全表扫描Join优化:改变Join顺序、选择Join方法(Nested Loop,Hash 六、总结MySQL查询优化通过执行计划生成和代价评估产生最优执行计划,并运用各种优化规则不断优化,是MySQL能够高效查询的关键所在。 本文详细剖析了其工作原理,希望能帮助读者全面了解MySQL优化

    76720编辑于 2023-08-15
  • 来自专栏ml

    优化--牛顿法总结

    ---这里记录下一些关于牛顿法来作为优化的个人笔记 :) 关于牛顿法,先不说其中的概念,来简单看一个例子? 不用计算,如何手动开一个值的平方根,比如计算{sqrt(a) | a=4 } ? 但是我们在用牛顿法作为优化的时候,是要求极小值的啊? 那么如何快速的求出极小值呢?    

    1.5K120发布于 2018-03-27
  • 来自专栏Nicky's blog

    Orace的优化简介

    这篇博客可以说是读书笔记 一、Oracle的优化 1.1 优化简介 优化(Optimizer):优化是Oracle数据库内置的一个核心子系统,负责解析SQL,Oracle优化是Oracle系统的一个核心组件 二、优化优化方式 2.1 优化优化方式 Oracle优化按照优化方式分为两种 基于规则的优化(Rule-Based Optimizer),简称RBO 基于成本的优化(Cost-Based Optimizer ),简称CBO 2.2 基于规则的优化 2.2.1 RBO简介 基于规则的优化(Rule-Based Optimizer):所谓基于规则的优化是指Oracle按照硬编码在数据库的一系列规则来决定SQL 2.3.1 CBO简介 介绍一下基于成本的优化(Cost-Based Optimization):基于成本的优化简称是CBO,在SQL执行过程,会缓存执行的一些信息到Oracle的数据字典里,这里的信息就有 三、优化优化模式 3.1 优化优化模式分类 优化优化模式分为Rule、Choose、First rows、All rows Rule:就是基于规则Rule的方式 Choose:当一个表或索引有统计信息

    98130发布于 2019-03-06
领券