Skip to main content

moregeek program

一条线上慢查询 sql 的原因分析及优化建议_defonds的博客-多极客编程

1. 背景s_order 表的相关字段定义 DDL:​​user_id​​ varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '下单用户ID',​​order_status​​ tinyint(4) NOT NULL COMMENT '订单状态',​​create_time​​ datetim

Read More

sql慢?吐血整理mysql中explain分析工具_wx630f055ce23fc的博客-多极客编程

前言当我们遇到一条SQL慢的时候,往往需要使用一些性能分析工具,看看这个SQL究竟是为什么慢?那本文就分享MySQL中的一个性能分析神器——​​Explain​​, 通过读懂它的结果,我们可以知道SQL的执行计划,也就是具体执行查询的方式,比如多表连接的顺序是什么,或者查询是否用到索引,用到了哪些索引等等,这也是每个后端程序猿必备的技能。Explain介绍对于每个SQL来说,当它被客户端发送到My

Read More

京东云 tidb sql 优化的最佳实践_京东云官方的博客-多极客编程

京东云TiDB SQL层的背景介绍从总体上概括 TiDB 和 MySQL 兼容策略,如下表:SQL层的架构用户的 SQL 请求会直接或者通过 Load Balancer 发送到 京东云TiDB Server,TiDB Server 会解析 MySQL Protocol Packet,获取请求内容,对 SQL 进行语法解析和语义分析,制定和优化查询计划,执行查询计划并获取和处理数据。数据全部存储在

Read More

【java实战】项目经验_wx630f055ce23fc的博客-多极客编程

1.慢sql优化 一般的慢sql都是由对时间范围查询造成的慢sql原型SELECT xx,xx,xxFROM xxWHERE is_deleted = ? AND status = ? AND start_time IS NOT NULL AND start_time <= now()导致慢sql的原因是AND start_time IS NOT NULL AND start_time

Read More

opengauss内核分析:执行计划生成_华为云开发者社区的博客-多极客编程

摘要:SQL语句解析完成后被解析成Query结构,在进行优化时是以Query为单位进行的,Query的优化分为基于规则的逻辑优化(查询重写)和基于代价的物理优化(计划生成),主入口函数为subquery_planner。subquery_planner函数接收Query(查询树),返回一个Plan(计划树)。本文分享自华为云社区《​​openGauss内核分析(六) 执行计划生成​​》,作者:Ga

Read More

pg优化篇--执行计划相关项_mysql dba攻坚之路的博客-多极客编程

ENABLE_*参数在PostgreSQL中有一些以“ENABLE_”开头的参数,这些参数提供了影响查询优化器选择不同执行计划的方法。有时,如果优化器为特定查询选择的执行计划并不是最优的,可以设置这些参数强制优化器选择一个更好的执行计划来临时解决这个问题。一般不会在PostgreSQL中配置来改变这些参数值的默认值,因为通常情况下,PostgreSQL不会走错执行计划。PostgreSQL走错执行

Read More

pg优化篇--执行计划_mysql dba攻坚之路的博客-多极客编程

EXPLAINEXPLAIN [ ( option [, ...] ) ] statementEXPLAIN [ ANALYZE ] [ VERBOSE ] statement该命令的可选项“options”如下ANALYZE [ boolean ]VERBOSE [ boolean ]COSTS [ boolean ]BUFFERS [ boolean ]FORMAT { TEXT | XML

Read More

【oracle】记一次执行计划的调优_几缕萧雨锁清秋的博客-多极客编程

1.问题针对以下SQL,用户反馈周日(7月3日)明显变慢。SELECT T1.CONFLICT_ID, T1.LAST_UPD, T1.CREATED, T1.LAST_UPD_BY, T1.CREATED_BY, T1.MODIFICATION_NUM, T1.ROW_ID, T1.S

Read More

袋鼠云数栈基于CBO在Spark SQL优化上的探索-多极客编程

原文链接:​​袋鼠云数栈基于 CBO 在 Spark SQL 优化上的探索​​一、Spark SQL CBO 选型背景Spark SQL 的优化器有两种优化方式:一种是基于规则的优化方式 (Rule-Based Optimizer,简称为 RBO);另一种是基于代价的优化方式 (Cost-Based Optimizer,简称为 CBO)。1、RBO 是传统的 SQL 优化技术RBO 是发展比较早且

Read More

Spark SQL底层执行流程详解-多极客编程

本文目录 一、Apache Spark 二、Spark SQL发展历程 三、Spark SQL底层执行原理 四、Catalyst 的两大优化 完整版传送门:Spark知识体系保姆级总结,五万字好文! 一、Apache Spark Apache Spark是用于大规模数据处理的统一分析引擎,基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Sp

Read More

理解PG如何执行一个查询-1-多极客编程

PG服务器收到客户端发来的查询后,查询的文本交给解析器。解析器扫描查询并检查它的语法。若语法正确,解析器会将查询文本转换成解析树。解析树是一种以正式、明确的形式表示查询含义的数据结构。给定查询:SELECT customer_name, balance FROM customers WHERE balance > 0 ORDER BY balance;解析器可能会提出这样的解析树: 解析器完

Read More

实战篇:MySQL优化系列--SQL优化实战-多极客编程

前言MySQL的SQL优化利器--执行计划对于SQL优化有很大帮助,MySQL由于体系结构的原因,优化最常见的比如加索引,可能就能完成一次质的优化。那么如何看执行计划,如何通过执行计划进行SQL优化呢,本文带了实战详解。本文理论方面参考《MySQL实战45讲》--丁奇《MySQL是怎样运行的--从根儿上理解MySQL》 --小孩子4919本文通过解读执行计划,和实验演示的方式,将说明如下内容:​执

Read More

万字长文详解HiveSQL执行计划-多极客编程

本文目录:\一、前言\二、SQL的执行计划 explain 的用法 explain 的使用场景\案例一:join 语句会过滤 null 的值吗?\案例二:group by 分组语句会进行排序吗?\案例三:哪条sql执行效率高呢?\案例四:定位产生数据倾斜的代码段 explain dependency的用法 \案例一:识别看似等价的代码\案例二:识别SQL读取数据范围的差别 explain auth

Read More

千万级用户系统的SQL调优实战-多极客编程

某系统专门通过各种条件筛选大量用户,接着对那些用户去推送一些消息:一些促销活动消息让你办会员卡的消息告诉你有一个特价商品的消息通过一些条件筛选出大量用户,针对这些用户做推送,该过程较耗时-筛选用户过程。用户日活百万级,注册用户千万级,而且若还没有进行分库分表,则该DB里的用户表可能就一张,单表上千万的用户数据。对运营系统筛选用户的SQL:SELECT id, name FROM users WHE

Read More

#yyds干货盘点# 各种 SQL 的执行计划实战分析-多极客编程

每条SQL语句,MySQL都会经过成本和规则的优化,对这个SQL选择对应的一些访问方法和顺序,包括做一些特殊的改写确保执行效率是最优的,然后优化过后,就会得到一个执 行计划。执行计划,落实到底层,无非就是先访问哪个表,用哪个索引还是全表扫描,拿到数据后如何回表,是否要基于临时磁盘文件做分组聚合或者排序。简单的单表查询,可能这就一条数据,代表它打算如何访问这一个表。explain select *

Read More

如何查看SQL的执行计划-多极客编程

目录环境文档用途详细信息环境系统平台:N/A版本:6.0,4.5.2,5.6.5,4.3.4.9文档用途本文主要用于介绍如何通过explain命令查看SQL的详细执行计划。详细信息一、explain命令详解1、语法EXPLAIN [ ( option [, ...] ) ] statementEXPLAIN [ ANALYZE ] [ VERBOSE ] statemen2、选项说明option可

Read More

#yyds干货盘点#---MySQL 索引管理及执行计划-多极客编程

一、mysql索引类型BTREE:B+树索引 (常用)HASH:HASH索引FULLTEXT:全文索引RTREE:R树索引二、索引分类主键索引普通索引唯一索引三、索引基本管理创建和删除:alter table stu add index idx_name(stu_name); # 创建索引alter table stu drop index idx_name; # 删除索引或者create ind

Read More

性能分析之子锁存器(latch)到SQL-多极客编程

这几天碰到一个事情,有必要记录一下。在一个项目中,压力测试工具中一个业务响应时间变长,数据库(oracle)CPU使用率99%以上。从AWR报告上看到如下信息:在性能项目的沟通中,经常是在这样的时候,我们就去告诉开发说现在的状态是CPU使用率高,把AWR报告往开发那里一发,性能团队的人员就喝咖啡去了。但是性能如果只是做到这里,沟通其实没有在同一个界面上。在这个典型的沟通过程中,上述结果也确实发给开

Read More

MongoDB 关于索引创建及使用规则的讨论#yyds干货盘点#-多极客编程

MongoDB像其他种类的数据库,例如oracle、mysql、sqlserver等,查询语句对索引的使用也有一定的规则。MongoDB除了遵守索引的左序原则外,还有自己的ESR(等值-排序-范围)原则。最近培训中,有人提问,一个分片集群中的一个分片集合,数据有几个类似地市的分类,有一个类似身份证的ID号,查询为查询地市中满足匹配某些身份证的数据,那建组合索引时,地市和身份证哪个字段放前边,查询操

Read More

MySQL 索引管理及执行计划-多极客编程

一、mysql索引类型 BTREE:B+树索引 (常用) HASH:HASH索引 FULLTEXT:全文索引 RTREE:R树索引 二、索引分类 主键索引 普通索引* 唯一索引 三、索引基本管理 ​创建和删除:alter table stu add index idx_name(stu_name); # 创建索引alter table stu drop index i

Read More