技术的坑分享记录

神奇的 SQL 之 MySQL 执行计划 → EXPLAIN,让我们了解 SQL 的执行过程!

发布:01/07/2021 11:57:05 阅读:12 MySql
标签: sql mysql 优化 sql性能

简介: 某一天,楼主打完上班卡,坐在工位逛园子的时候,右下角的 QQ 闪了起来,而且还是个美女头像!我又惊又喜,脑中闪过我所认识的可能联系我的女性,得出个结论:她们这会不可能联系我呀,图像也没映象,到底是谁了?打开聊天窗口聊了起来   她:您好,我是公司客服某某某,请问 xxx后台 是您负责的吗?   我:您好,是我负责的,有什么问题吗?   她:我发现 xxx 页面点查询后,一直是 加载中... ,数据一直出不来,能帮忙看看吗?   我:是不是您的姿势不对?   她:我就 xxx,然后点查询   我:骚等下,我试试,确实有点慢,很长时间才能出来   她:是的,太慢了,出不来,都急死我了,能快点吗?   我:肯定能、必须能!您觉得什么速度让您觉得最舒服?   她:越快越好吧   我:呃...,是吗,我先看看是什么问题,处理好了告诉您,保证让您觉得舒服!   她:好的,谢谢!   公司没有专门的搜索服务,都是直接从 MySQL 查询,做简单的数据处理后返回给页面,慢的原因肯定就是 SQL 查询了。找到对应的查询 SQL ,就是两个表的联表查询,连接键也有索引,WHERE 条件也能走索引,怎么会慢了?然后我用 EXPLAIN 看了下这条 SQL 的执行计划,找到了慢的原因,具体原因后面揭晓(谁让你不是猪脚!)

查看详细 →

神奇的 SQL 之性能优化 → 让 SQL 飞起来

发布:01/07/2021 11:57:05 阅读:11 MySql
标签: sql mysql 优化 sql性能

简介: 在像 Web 服务这样需要快速响应的应用场景中,SQL 的性能直接决定了系统是否可以使用;特别在一些中小型应用中,SQL 性能更是决定服务能否快速响应的唯一标准   严格地优化查询性能时,必须要了解所使用数据库的功能特点,此外,查询速度慢并不只是因为 SQL 语句本身,还可能是因为内存分配不佳、文件结构不合理、刷脏页等其他原因   因此本文即将介绍的优化 SQL 的方法不能解决所有的性能问题,但是却能处理很多因 SQL 写法不合理而产生的性能问题   下文将尽量介绍一些不依赖具体数据库实现,使 SQL 执行速度更快、消耗内存更少的优化技巧,只需调整 SQL 语句就能实现的通用的优化 Tips

查看详细 →

MySQL案例:count(*)和count(1)的效率问题

发布:12/29/2020 19:26:22 阅读:10 MySql
标签: mysql MySQL案例:count(*)和count(1)的效率问题

简介: MySQL案例:count(*)和count(1)的效率问题相信大多数DBA都看见过这样一条SQL优化原则:用count(1)替换count(*);相信也有不少DBA因这个问题被开发diss过,用count(*)非常慢,应该用count(1),然后改用count(1)后,还真是秒出结果;那么究竟是什么回事呢?count(1)真的比count(*)快那么多吗?count(1)和count(*)的区别究竟在哪里?接下来我们就来一一揭晓。

查看详细 →

MySQL最佳实践:内存管理分析

发布:12/29/2020 19:24:11 阅读:10 MySql
标签: MySQL最佳实践:内存管理分析

简介: 总的来说,只要我们的操作系统/数据库有一个相对合理的配置(NUMA、swapiness、jemalloc 、innodb_buffer_pool_size等等),大多数情况是不需要关注内存问题的;如果非常不幸运地碰到内存占用异常问题,可以通过官方提供的实时监控工具——内存监控表,快速进行定位;不过需要注意的是,开启内存采集器也会带来一些问题,比如额外的内存占用和性能损耗,一般建议是在系统出现内存问题之后,再重启实例启用,并等待复现。

查看详细 →

MySQL 案例:Update 死锁详解

发布:12/29/2020 19:23:35 阅读:10 MySql
标签: MySQL 案例:Update 死锁详解

简介: MySQL 案例:Update 死锁详解

查看详细 →

测试MySQL主从复制中主库表缺失主键会导致主从延迟的情况

发布:12/29/2020 19:21:46 阅读:10 MySql
标签: mysql 主从

简介: 测试MySQL主从复制中主库表缺失主键会导致主从延迟的情况

查看详细 →

MYSQL 性能测试指导

发布:12/29/2020 19:06:03 阅读:10 MySql
标签:

简介: MYSQL 性能测试指导

查看详细 →

MySQL分库分表

发布:10/15/2019 18:31:25 阅读:10 MySql
标签: mysql 分表 分库

简介: MySQL分库分表把原本存储于一个库的数据分块存储到多个库(主机)上,把原本存储于一个表的数据分块存储到多个表上。

查看详细 →

解决mysql报错误 0x80004005 Incorrect string value: '\xF0\xA0\x83\x8A2\xE4...' for column

发布:10/15/2019 14:46:51 阅读:15 MySql
标签: mysql utf-8 utf8mb4

简介: 解决mysql报错误 0x80004005 Incorrect string value: '\xF0\xA0\x83\x8A2\xE4...' for column

查看详细 →

MySQL创建全文索引

发布:10/12/2019 10:56:05 阅读:10 MySql
标签: mysql 性能优化 fulltext index

简介: MySQL创建全文索引 ,FUNLLTEXT INDEX

查看详细 →

MySQL使用全文索引(fulltext index)

发布:10/12/2019 10:48:57 阅读:10 MySql
标签: mysql 性能优化 fulltext index

简介: MySQL使用全文索引(fulltext index)ALTER TABLE `student` ADD FULLTEXT ft_stu_name (`name`);ALTER TABLE `student` ADD FULLTEXT INDEX ft_stu_name (`name`) #ft_stu_name是索引名,可以随便起;

查看详细 →

mysql数据库字段内容替换

发布:10/12/2019 01:05:03 阅读:10 MySql
标签: mysql 替换

简介: mysql数据库字段内容替换 mysql中如何替换字段的内容

查看详细 →