慢SQL分析

为什么会出现慢SQL?

  1. 未用索引,就会造成全表扫描;又或者索引失效了
  2. 单表数据量太大,导致加了索引也无济于事
  3. 子查询过多(大量join会导致笛卡尔积后再筛选,所以大量join会导致大量运算使得sql变慢)

怎么进行慢SQL分析

  1. 启用慢查询日志,设置阈值,找到慢SQL
  2. 执行explain sql, 分析sql执行计划,重点关注: type(ALL(全表扫描)、index(索引全扫描)),key(实际使用的索引)、key_len(索引长度)、rows(估计为了找到所需的行而必须检查的行数。)

如何优化

索引方面

  1. 遵循最左前缀匹配原则
  2. 尽量选择区分度高的列作为索引
  3. 索引列不能参与计算

优化数据访问

  1. 只返回必要的列:最好不要使用 SELECT * 语句
  2. 只返回必要的行:使用 LIMIT 语句来限制返回的数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/838985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试驱动编程(2)进阶单元测试(上)

文章目录 测试驱动编程(2)进阶单元测试(上)单元测试单元测试正确打开方式各类测试比较 TDD中的单元测试 测试驱动编程(2)进阶单元测试(上) 单元测试 要打造出出类拔萃的作品,你必须专注于最小的细节 单元测试正确打…

易刷多平台广告掘金挂机脚本,单号一天至少10-30+【挂机脚本+使用教程】

易刷多平台广告掘金挂机脚本,每天单号可以至少获取10-30的收益。我们提供【挂机脚本使用教程】。 项目介绍: 我们今天为大家带来的是一款多平台的掘金脚本。 这款脚本支持25个平台掘金,可以帮助您解决频繁下载其他脚本的问题。 设备需求&am…

浅谈AI大模型的数据特点和应用问题

【摘要】AI大模型的训练、推理及应用落地都需要大量的数据,其数据具有参数和数据量大、质量要求高、行业垂直属性强、资源消耗大等特点,由此带来的个人隐私泄露、数据中毒、数据篡改等数据安全风险已成为业界必须应对的重要议题。目前大模型的规模化应用…

pandas处理缺失值的10种策略

一、引言 在数据分析的世界里,数据清洗是一项至关重要的前期工作。它犹如给食材去皮、洗净、切片,让它们成为一道道美味佳肴的原材料。对于Python初学者来说,掌握如何使用强大的Pandas库处理数据中的缺失值是迈向数据清洗高手的第一步。本文…

Linux——进程信号

目录 一、信号的理解 二、信号的种类 2.1 标准信号 (1-31) 2.2 实时信号 (通常是34及以上) 三、信号的产生 3.1 用户通过终端产生信号 3.1.1 signal 函数 3.1.2 demo 测试 3.1.3 demo 现象 3.2 通过系统函数产生信号 3.2.1 demo 测试 3.3 由软件条件产生信号 3.3.1…

面向浏览器端免费开源的三维可视化编辑器,包含BIM轻量化,CAD解析预览等特色功能。

ES 3DEditor 🌍Github地址 https://github.com/mlt131220/ES-3DEditor 🌍在线体验 https://editor.mhbdng.cn/#/ 基于vue3与ThreeJs,具体查看Doc 主要功能: 模型导入展示,支持OBJ、FBX、GLTF、GLB、RVT、IFC、SEA、3…

Class类-super关键字

在编程中,super关键字通常用于引用父类(超类)的属性或方法。以下是在不同语言中super关键字的使用示例: JavaScript (ES6 Class Syntax) Javascript 1class Parent { 2 display() { 3 console.log("Parent class…

LeetCode算法题:三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a b c 0 ?请找出所有和为 0 且 不重复 的三元组。 示例 1: 输入:nums [-1,0,1,2,-1,-4] 输出&#xff1a…

如何将Docker容器打包并在其他服务器上运行

如何将Docker容器打包并在其他服务器上运行 我会幻想很多次我们的相遇,你穿着合身的T恤,一个素色的外套,搭配一条蓝色的牛仔裤,干净的像那天空中的云朵,而我,还是一个的傻傻的少年,我们相识而笑…

有没有适合女性做的副业?盘点9个适合女生做的赚钱兼职副业

亲爱的女神们,你们是否也想在忙碌的生活中寻找一些额外的乐趣和收入呢?今天,就为大家揭秘九种特别适合女性的副业,让你在追求美丽的同时,也能轻松赚取零花钱,秒变“小金库”! 一、宅富社任务赚钱…

BGP策略实验

BGP策略实验 1.拓扑 2.要求 1.使用配用preva1策略,确保R4通过R2到达192.168.10.0/24 2.用AS Path策略,确保R4通过R3到达192.168.11.0/24 3.配置MED策略,确保R4通过R3到达192.168.12.0/24 4.使用Local Preference策略,确保R1通…

关于linux的防护,以及群集你要知道的有哪些9-Redis群集

1、数据库的类型: (1)关系型数据库:Oracle、MySQL、SQL server、DB2 (2)非关系型数据库:Redis、MongDB、Hbase、CouhDB 2、Redis的优点 具有极高的数据读写速度 支持丰富的数据类型 支持数据的…

Sentinel的隔离和降级

文章目录 1、概念简介2、FeignClient整合Sentinel2.1、修改配置,开启sentinel功能2.2、编写失败降级逻辑2.3、总结 3、线程隔离(舱壁模式)3.1、线程隔离的实现方式3.2、sentinel的线程隔离1)配置隔离规则2)Jmeter测试 …

南加州大学字节提出MagicPose,提供逼真的人类视频生成,实现生动的运动和面部表情传输,以及不需要任何微调的一致的野外零镜头生成。

MagicPose可以精确地生成外观一致的结果,而原始的文本到图像模型(如Stable Diffusion和ControlNet)很难准确地保持主体身份信息。 此外,MagicPose模块可以被视为原始文本到图像模型的扩展/插件,而无需修改其预训练的权重。 相关链接 论文链…

k8s pv 一直是release状态

如下图所示,pv 一直是release状态 这个时候大家可能就会想到现在我的 PVC 被删除了,PV 也变成了 Released 状态,那么我重建之前的 PVC 他们不就可以重新绑定了,事实并不会,PVC 只能和 Available 状态的 PV 进行绑定。…

Vue 对象

在 Vue.js 中,操作对象是常见的任务之一。Vue 提供了许多方法和指令来方便地操作对象,包括动态添加属性、遍历对象、响应式更新等。以下是一些常见的对象操作及其详细说明和示例。 创建对象 在 Vue 组件的 data 中创建对象: export defaul…

children和childrenNodes及nodeValue

在JavaScript中,尤其是当处理DOM元素时,children[0] 和 childNodes[0] 确实存在区别,尽管它们看起来都像是访问某个元素子节点的方式。以下是它们之间的主要区别: children 属性 children 属性是一个只读的HTMLCollection&#…

SQL 面试系列(一)【留存率问题】

前言 在学 HQL 之前是不太了解 SQL 的,以为 SQL 只可以实现 CRUD ,直到面试的公司让我下去多了解一些 SQL ,我才最近开始再次深入学习 MySQL 和 Oracle。而且越学越发现 SQL 真的是一门很有深度的语言,我以前的使用只是皮毛而已&a…

如何远程连接默认端口?

远程连接是指通过网络实现两个或多个计算机之间的连接和通信。在进行远程连接时,使用的端口号是一个重要的参数。端口号是计算机上正在运行的特定应用程序的标识符。每个应用程序都会监听一个或多个特定的端口号,以便接收来自其他计算机的连接请求&#…

Android正向开发实现客户端证书认证

前言 如果第三方模块被混淆,那hook方式均不能生效。这时就需要根据系统包去定位校验的函数,因此需要对安卓开发者是如何实现客户端证书校验的有一定了解,接下来就介绍这部分内容。 开发者实现客户端证书校验的本质是:证书/密钥 + 代码。 在形式上有:证书校验、公钥校验和…