一文彻底掌握MySQL的explain执行计划

MySQL 的执行计划是数据库查询优化的重要工具,帮助开发者理解 SQL 查询的执行过程,从而进行性能调优。执行计划详细展示了 MySQL 如何解析、优化和执行 SQL 语句,直接影响查询的效率和性能。 1. 执行计划的基本概念 执行计划是 MySQL 对 SQL…

hello hello 发布于 2024-11-08

一文彻底弄懂MySQL优化之深度分页

深度分页(Deep Pagination)在MySQL中指的是对大型数据集进行分页查询时,尤其是当需要获取较后页的数据时,性能可能会受到影响。传统的分页方法在数据量较大时,随着页数的增加,性能会迅速下降。本文将深入探讨深度分页的实现方式、问题及其解决方案。 1. 深度分页的基本概念 在MySQL中,常见的分页查询通常使用 LIMIT 和 OFFSET…

hello hello 发布于 2024-11-08

MySQL中SQL的执行顺序

MySQL中SQL的执行顺序…

hello hello 发布于 2024-11-01

后端程序员必备:15个MySQL表设计的经验准则

1. 设计表时,尽量都有这几个通用字段 表必备一般来说,或具备这几个字段: id:主键,一个表必须得有主键,必须 create_time:创建时间,必须 modifed_time: 修改时间,必须,更新记录时,就更新它。 version : 数据记录的版本号,一般用于乐观锁,非必须 modifier :修改人,非必须 creator :创建人,非必须 2.…

hello hello 发布于 2024-10-30

MySQL通用性能优化模板

阅读本文可以了解关于MYSQL数据库优化的相关手段,包括从硬件、操作系统到数据库的优化。 01 硬件优化 CPU: 物理机上建议配置更高性能的CPU,不仅是核数越多越好,处理主频也是越高越好。生产环境建议配置不低于8 Cores的CPU; MEM: 建议配置更大的物理内存,生产环境建议配置不低于8 GB的物理内存; DISK:…

hello hello 发布于 2024-10-20

MySQL 灾难恢复利器:ibd2sql

简介 ibd2sql 是一个使用纯 Python 3 编写的工具,用于离线解析 MySQL InnoDB 存储引擎的 IBD 文件,并将其转换为 SQL 语句。该工具无需任何第三方依赖包,使用 GPL-3.0 许可证发布。 优点 方便: 提取表的 DDL(数据定义语言)。 实用: 支持替换库名(–schema)和表名(–table),可以在 SQL…

hello hello 发布于 2024-10-18

MySQL V9.1.0 发布,又一个大可不必的版本

昨天 MySQL发布了个新版本V9.1.0,先看一下what‘s new里面写的东西。 1. Triggers no longer loaded by read-only operations 。简单说,就是之前的版本,加载触发器的时候是直接解析的。现在优化为,只加载元数据,并不启动解析。 等表上有更新语句,要使用触发器逻辑的时候再解析触发器内容。…

hello hello 发布于 2024-10-16

MySQL索引18连问,谁能顶住

前言 过完这个节,就要进入金银季,准备了 18 道 MySQL 索引题,一定用得上。 1. 索引是什么 索引是一种数据结构,用来帮助提升查询和检索数据速度。可以理解为一本书的目录,帮助定位数据位置。 索引是一个文件,它要占用物理空间。 2. MySQL索引有哪些类型 数据结构维度 B+tree 索引:…

hello hello 发布于 2024-08-09

请说一下Mysql中count(1)、count(*)以及count(列)的区别?

近期在Review项目代码时,发现同事们在查询MySQL行数时存在多样的方式,有的使用 COUNT(1) , 有的用 COUNT(id) , 还有人选择了 COUNT(*) 。这混杂的选择引发了我的思考。当然这三种count的方式也是众说纷纭,其中最大的分歧点就是 COUNT(*) 和 COUNT(1) 查询性能上,有人觉得 COUNT(*) 需要转换为…

hello hello 发布于 2024-08-05

MySQL Join原理分析(缓冲块嵌套与索引嵌套循环)

场景假设 A表(1000条数据)left join B表(1000条数据)。 嵌套循环(Nested-Loop Join) 极简概括:顾名思义多层循环叠加,由于MySQL条数数量有限,所用for循环而不用while,在MySQL中就是多层for循环。…

hello hello 发布于 2024-07-18
上一页 下一页