有了PostgreSQL的出现,MySQL的数据库在SQL的处理上的问题一直被人当做有意思的事情来去谈论,实际上每种数据库有自己不同的个性,我们掌握就好,无需特别的进行一些情感上的好恶。MySQL 最近一个同学给我提了一个问题,关于为什么一个简单的语句,并且语句中提取的数据是唯一的一条,而却在下面循环了三次,因为我没有他的数据,也仅仅是看了执行计划和语句,又 ......
23
0
0
2024-11-01
前言本文若未特意说明使用的数据表,均为 MySQL索引(四)常见的索引优化手段 中的示例表。分页业务的索引优化在业务场景中,经常会使用到分页处理,那么sql 实现语句可能如下:SELECT * FROM employees limit 10000,10; 从"employees"表中选取10条数据,跳过前10000条数据,查询结果将返回"employees ......
33
0
0
2024-10-31
Trace 工具简介Trace 是 MySQL 5.6 版本后提供的 SQL 跟踪工具,用于了解优化器 (optimizer) 在选择执行计划时的决策过程,包括表访问方法、各种开销计算和转换等信息。当启用 trace 工具时,可以将跟踪结果记录到 INFORMATION_SCHEMA.OPTIMIZER_TRACE 表中,支持分析以下语句:SELECT、IN ......
35
0
0
2024-10-31
本文索引优化包含对 MySQL索引(三)explain实践,优化 MySQL 数据库查询性能 的一些补充。索引优化创建示例表CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT ......
26
0
0
2024-10-31
MySQL 安装为了方便管理,可以采用 docker 安装方式,也是小鱼在本文中给出的安装方式。MySQL 5.7 安装docker run -d \ -p 3306:3306 \ --privileged=true \ -v ./mysql5.7/conf/my.cnf:/etc/my.cnf \ -v ./mysql5.7/data:/var/l ......
26
0
0
2024-10-31
首先要声明的就是,千万级数据对于MySQL来说就是不太合理的一个存在。优化MySQL千万级数据策略还是比较多的。分表分库创建中间表,汇总表修改为多个子查询这里讨论的情况是在MySQL一张表的数据达到千万级别。表设计很烂,业务统计规则又不允许把sql拆成多个子查询。在这样的情况下,开发者可以尝试通过优化SQL来达到查询的目的。当MySQL一张表的数据达到千万级 ......
27
0
0
2024-10-29
首先要声明的就是,千万级数据对于MySQL来说就是不太合理的一个存在。优化MySQL千万级数据策略还是比较多的。分表分库创建中间表,汇总表修改为多个子查询这里讨论的情况是在MySQL一张表的数据达到千万级别。表设计很烂,业务统计规则又不允许把sql拆成多个子查询。在这样的情况下,开发者可以尝试通过优化SQL来达到查询的目的。当MySQL一张表的数据达到千万级 ......
80
0
0
2024-09-05
前言在进行SQL优化前,我们必须先了解SQL查询的性能分析,为什么这条SQL慢,慢在哪里?这样我们才能更好的进行SQL优化。性能分析查看执行频次查看当前数据库的 INSERT, UPDATE, DELETE, SELECT 访问频次:SHOW GLOBAL STATUS LIKE 'Com_______';或者 SHOW SESSION STATUS LIK ......
235
0
0
2024-05-08
你好,我是大彬~对于正在运行的MySQL,性能如何,参数设置的是否合理,账号设置的是否存在安全隐患,你是否了然于胸呢?俗话说工欲善其事,必先利其器,定期对你的MySQL数据库进行一个体检,是保证数据库安全运行的重要手段,因为,好的工具是使你的工作效率倍增!今天和大家分享4个MySQL优化的工具,你可以使用它们对你的MySQL进行一个体检,生成awr报告,让你 ......
351
0
0
2024-05-01
2024年1月某些星象的原因,导致我个人的星盘在1月大概率要和某些人要有不愉快。这不就来了,在一次关于mysql 数据库数据表清理后,关于optimize table 的问题上,我毫无悬念的和架构师们进行了一次非常不nice 的沟通。随意就有了此篇的文章,因为我这个人比较的要通过实际的情况来说明问题,而不是用权威来压制,那样没有品。事情简单的说一下,几十个库 ......
248
0
0
2024-04-02
前言在MySQL中,执行计划是优化器根据查询语句生成的一种重要的数据结构,它描述了如何通过组合底层操作实现查询的逻辑。当我们编写一条SQL语句时,MySQL会自动对其进行优化,并生成最优的执行计划以实现更快的查询速度。各位精通MySQL的大佬们,像往常一样,我们经常会遇见一堆SQL查询要处理。作为一个优秀的MySQL的操盘手,不能让这些SQL语句任性地在数据 ......
242
0
0
2024-02-21
目录索引是什么?索引的结构?索引存在哪儿?索引的优缺点?索引的分类 索引使用explain执行计划索引使用规范(索引失效分析)例子总结:索引是什么?索引是帮助MySQL进行高效查询的一种数据结构。好比一本书的目录,能加快查询的速度索引的结构?索引可以有B-Tree索引,Hash索引。索引是在存储引擎中实现的InnoDB / MyISAM 仅支持 B ......
328
0
0
2023-09-11
作者:CHEN川说起 MySQL 的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建 索引 、为字段选择合适的数据类型….. 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合 ......
262
0
0
2023-08-24
数据量和要求数据量:单表一千万条记录以上要求:单条sql查询时间不超过1秒优化技巧先把每一条心得记录在这里,后面会进行实验对其一一验证。查询数据总条数时,使用max(id)而不是count(*)进行总量计数。 当然,前提是id是从1开始自增长,并且没有行被删除过。对于常用的查询字段建立 索引 。 索引的速度优势显而易见。未建立索引时,全表查询是线性的。使用l ......
439
0
0
2023-07-25
目录1、开启Mysql慢查询1.1、查看慢查询相关配置1.2、查询慢查询sql耗时临界点1.3、开启Mysql慢查询2、explain查看SQL执行计划2.1、Select_type2.2、Type2.3、Possible_keys2.4、Key2.5、Key_len2.6、Rows2.7、Extra3、profile 分析执行耗时3.1、查询profile ......
302
0
0
2023-07-16