数据库优化指南
文章平均质量分 85
运维开发人员的实战优化指南
梦想橡皮擦
技术&自媒体,畅游互联网11年,什么语言都懂一点点,商务V moshanba
擅长Python,C++,Go,MySQL
展开
-
2022年,橡皮擦正在更新的课程目录【粉丝亲启】- 2022年5月7日更新
这些系列我都在更新中哦~,关注我,没错的原创 2022-04-06 12:23:05 · 20409 阅读 · 13 评论 -
一文掌握MySQL中的二进制日志,MySQL 优化学习第10天
本篇博客我们学习一下MySQL 中的二进制日志,该日志记录了所有对MySQL数据库的CRUD事件,包括增删改查和对表的系列操作记录,对于失败、回滚或未提交的操作不会记录。通过MySQL的二进制日志增量,可以实现MySQL的复制和备份。学习过程中检索到有资料提及,二进制日志(binlog)只会增加 1% 的 MySQL 负载,所以可以一直开启。开启二进制日志通过如下命令验证是否开启:show variables like 'log_bin%';各个参数的含义如下所示:log_bin:是原创 2022-03-25 13:55:57 · 20297 阅读 · 0 评论 -
2022年记一次慢查询优化指南,MySQL 优化学习第9天
有时候编写完的代码,上传到服务器,立马 CPU 与 负载跑满,查询原因之后,发现是 MySQL 慢查询导致,顾需要对慢查询进行调优。原创 2022-03-24 09:36:52 · 19295 阅读 · 0 评论 -
MySQL insert 插入优化技巧,MySQL 优化学习第8天
本篇博客主要优化 MySQL 中的插入操作,核心实现 insert 优化任务。load data infile 导入数据使用上述命令,可以大幅度提高批量插入数据。如果希望使用该命令,可以用 show 命令进行测试show variables like '%infile%'原创 2022-03-23 10:55:18 · 20455 阅读 · 1 评论 -
【翻译】How To Kill MYSQL Queries - 如何杀掉 MySQL 查询
这个系列的博客将采用高水平的英文翻译实现。如何杀掉 MySQL 查询当你想要杀掉 MySQL 进程或者查询的时候,可以用本篇博客展示的方法操作,而且效果非常好。文章目录查询进程列表关闭特定线程关闭全部进程使用 PHP 脚本使用存储过程关闭当前进程查询进程列表运行下述命令show processlist;该命令将展示所有连接到服务器的命令,结果集包括 thread IDs , User , Host , DB , Time , Status , Info 等内容执行该命令前,需要确定是否有管翻译 2022-01-20 20:00:00 · 19647 阅读 · 0 评论 -
show full processlist,MySQL 优化第7天学习
id:线程标志,系统分配的 connection_id ,可以使用 select connection_id() 查看,出问题也是用 kill + id 去杀线程,使用 mysql > kill id;;User:显示当前用户,如果当前不是用 root 查询,这个命令只显示用户权限范围的sql语句;Host:该语句是来源,即从哪个IP和端口访问的;db:显示当前进程连接的数据库Command:执行的命令类型,一般是休眠(sleep),查询(query),连接(connect);Time:S原创 2022-01-20 19:15:00 · 19959 阅读 · 0 评论 -
后端优化那些事儿~ MySQL优化第6天
本篇博客再次去复盘 MySQL 中的索引,从该角度学习 MySQL 的优化。索引索引不是越多越好,因为数据库在插入,删除,更新数据时,都会更新索引,导致效率降低。新建索引的时候优先选择离散度高的索引(列中不同值多的,适合做索引,例如 id 适合,status 状态不适合,因为一般只有2个值),如果一个列中 NULL 值特别多,也不适合做索引列。如果仅依赖一列无法做到唯一,可以选择几列同时作为索引,即复合索引,复合索引要优先把离散度高的列放在前面,形式上是左侧。优化细节尽量避免 select原创 2022-01-20 06:00:00 · 19433 阅读 · 0 评论 -
mysql分析之profile详解(过去用法,但常用),一篇博客帮你理解 profile 的用法
Mysql分析-profile详解原创 2022-01-19 07:57:29 · 23197 阅读 · 1 评论 -
MySQL 索引与一个查询的优化,MySQL优化学习第4天
一个查询的优化你应该会碰到这个场景,在 MySQL 中设置了自增主键,但后续删除了某些数据,导致主键不连续了,可以使用下述命令查询那些不连续的主键。-- 写法1select id from (select id from 表名 order by id asc) b where not exists (select 1 from 表名 where id=b.id-1)-- 写法2select id from (select id from 表名 order by id asc) t where原创 2022-01-15 07:00:00 · 19580 阅读 · 0 评论 -
MySQL explain 执行计划学习一下吧,MySQL优化学习第3天
explain mysql 挺简单,挺有用的原创 2022-01-13 17:44:45 · 19828 阅读 · 2 评论 -
MySQL 优化真的难吗?学习第2天
优化可用的一些命令上篇博客说到了数据库支持的引擎,如果你想查阅你当前电脑上支持的引擎,可以使用如下命令。show engines;其中列名含义如下:Engine:引擎名称;Support:是否支持;Comment:备注;Transactions:是否支持事务;XA:XA事务;Savepoints:事务回滚。查看当前数据库使用的引擎show variables like '%storage_engine%'其中各个变量值的含义如下:default_storage_eng原创 2022-01-12 18:45:00 · 19145 阅读 · 4 评论 -
后端再进阶一步,MySQL 优化学习第1天
任何一个后端工程师,都离不开数据库操作,而数据库中 MySQL 又是使用频率最高的一款,所以本系列专栏,将以3天一篇的频率,一起学习 MySQL 优化。单表优化从字段上,尽量使用 tinyint , smallint , mediumint 作为整数类型,而不是用 int ,如果存储的值非负的话,再使用 UNSIGNED 。tinyint:占用1字节的存储空间,即8位(bit),取值范围 -127~127,在建表的时候要注意 tinyint(3) 可以,但是 tinyint(100) 还是 3 位,原创 2022-01-05 17:02:49 · 18981 阅读 · 1 评论