随笔 - 195  文章 - 3  评论 - 36  阅读 - 63万

随笔分类 -  数据库及优化

1 2 3 下一页
MySQL ,集群,分库分表
MYSQL数据库备份还原,并还原到最新状态(mysqldump)
摘要:启用二进制日志文件 vim /etc/my.cnf 配置文件位置及文件名根据实际情况确定<br>sql_log_bin=on|off:是否记录二进制日志,默认为on 在需要的时候设置为off="" <br>log_bin="/PATH/BIN_LOG_FILE:指定二进制日志文件位置;" 通常单独存 阅读全文
posted @ 2023-09-02 21:45 一只阿木木 阅读(113) 评论(0) 推荐(0) 编辑
MySQL的备份还原
摘要:MySQL的备份还原(mysqldump) MySQL的还原前提是要建立在,有完全备份和二进制日志开启的前提下,并且二进制日志文件和完全备份存放在与数据库文件不同的磁盘上,否则当磁盘发生损坏数据将无法进行恢复。 开启二进制日志 开启二进制日志需要将MySQL中的sql_log_bin和log_bin 阅读全文
posted @ 2023-09-02 21:33 一只阿木木 阅读(95) 评论(0) 推荐(0) 编辑
mysql修改编码utf8
摘要:摘要:使用apt-get 命令安装的mysql默认不是utf8、在这里记录一下如何将编码修改成utf8。 Linux学习笔记之——ubuntu中mysql修改编码utf8 一:查看mysql版本 1.1 mysql –V 在终端界面输入上面命令、显示如下: mysql Ver 14.14 Distr 阅读全文
posted @ 2023-09-02 21:31 一只阿木木 阅读(69) 评论(0) 推荐(0) 编辑
系统宕机,内存溢出等典型问题排查思路及工具使用
摘要:问题范围:平台典型后端问题,如宕机、服务响应慢、节点丢失、CPU高、内存高、数据库响应慢等。分析这类问题虽然没有固定套路,但是有大概方向。 工具范围:平台自带服务质量监控、堆分析工具、线程分析工具、arthas、visualvm、zabbix监控等。分析内存问题(OOM、GC)首先要建立JVM内存知 阅读全文
posted @ 2022-11-13 15:51 一只阿木木 阅读(1256) 评论(0) 推荐(0) 编辑
结合mysql 架构分析SQL查询语句和更新语句的执行
摘要:结合mysql 架构分析SQL查询语句和更新语句的执行 一:基础架构 mysql分为Server层和存储引擎层 Server层 涵盖了大多数mysql的核心服务功能,以及所有内置的函数(例如日期、加密、数学等函数),所有跨存储引擎的操作都在Server层实现:存储过程、触发器、视图等 连接器 连接器 阅读全文
posted @ 2022-10-20 11:58 一只阿木木 阅读(234) 评论(0) 推荐(0) 编辑
一个SQL查询走索引时涉及到的最左前缀原则
摘要:一个SQL查询走索引时涉及到的最左前缀原则 在讲解最左前缀原则之前,先复习一下MySQL索引的重要基础知识(下面都将基于InnoDB存储引擎下的索引规则) 索引类型 主键索引 InnoDB存储引擎使用B+树建立索引,主键索引的非叶子结点存放主键字段的值,通过主键中的字段构建B+树,叶子结点存放对应主 阅读全文
posted @ 2022-10-20 10:27 一只阿木木 阅读(509) 评论(0) 推荐(0) 编辑
MySQL的日志文件
摘要:本文将重点介绍MySQL的日志文件类型,并讲解其作用,并结合一定实操演示,相信跟着做下来你会对MySQL有更深的理解。 文件的概念 在开始讲MySQL日志文件之前,首先我们要明确一下文件的概念。MySQL数据库是存放在硬盘上的,用户进程通过和一个运行的MySQL实例进程通信(也就是需要一个运行的My 阅读全文
posted @ 2022-10-19 10:44 一只阿木木 阅读(419) 评论(0) 推荐(0) 编辑
Innodb 单表索引查询和连接查询效率分析
摘要:一、MySQL查询访问方法 mysql执行查询语句的方式叫做访问方法或访问类型,这些访问类型具体为 const、ref、range、index、all等。 同一个查询语句可以使用多种不同的访问方法来执行,虽然最后的查询结果都是一样的,但是花费的时间成本可能差距甚大。 下面对每种访问类型一一说明,假设 阅读全文
posted @ 2022-10-19 10:44 一只阿木木 阅读(496) 评论(0) 推荐(0) 编辑
Innodb对表加锁的过程分析
摘要:本节我们通过一些具体的案例来分析Innodb对表上锁的过程。具体场景如下图所示。 在这里我们将语句分为4类:普通select(快照读)、锁定读、半一致性读 和 insert语句。 普通读 普通的select在不同隔离级别下有不同的表现。 在 读未提交 的级别下:不加锁,直接读取版本链最新版本,可能出 阅读全文
posted @ 2022-10-19 09:23 一只阿木木 阅读(349) 评论(0) 推荐(0) 编辑
MVCC能否解决幻读?
摘要:一、什么是MVCC 多版本控制: 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相互阻塞,其他三种操作都可以并行,这样大幅度提高了InnoDB的并发度。 在内部实现中,InnoDB通过undo log保存每条数据的多个版本,并 阅读全文
posted @ 2022-10-18 23:02 一只阿木木 阅读(2155) 评论(2) 推荐(1) 编辑
千万级别mysql 分库分表后表分页查询优化方案初探
摘要:随着使用的用户群体越来越多,表数据也会随着时间的推移,单表的数据量会越来越大。 以订单表为例,假如每天的订单量在 4 万左右,那么一个月的订单量就是 120 多万,一年就是 1400 多万,随着年数的增加和单日下单量的增加,订单表的数据量会越来越庞大,订单数据的查询不会像最初那样简单快速,如果查询关 阅读全文
posted @ 2022-10-18 17:21 一只阿木木 阅读(5587) 评论(0) 推荐(0) 编辑
像 Mysql 和 MongoDB 这种大型软件在设计上都是精益求精的,它们为什么选择B树,B+树这些数据结构?
摘要:为什么 MongoDB (索引)使用B-树而 Mysql 使用 B+树? B 树与 B+ 树,其比较大的特点是:B 树对于特定记录的查询,其时间复杂度更低。而 B+ 树对于范围查询则更加方便,另外 B+ 树相对于 B 树来说更加扁平。 对于 MongoDb 来说,其是非关系型数据库,较少做联表的范围 阅读全文
posted @ 2022-10-18 12:10 一只阿木木 阅读(83) 评论(0) 推荐(0) 编辑
mysql事务隔离级别及MVCC 原理
摘要:一、事务的隔离级别 为了保证事务与事务之间的修改操作不会互相影响,innodb希望不同的事务是隔离的执行的,互不干扰。 两个并发的事务在执行过程中有 读读、读写(一个事务在读某条数据的同时另一个事务在写这条数据)、写读 和 写写 这4种情况。 读读(相同的数据)的并发并不会带来一致性问题,而后面三种 阅读全文
posted @ 2022-10-18 08:46 一只阿木木 阅读(338) 评论(0) 推荐(0) 编辑
探索不同引擎Innodb和Myisam的索引优化方案
摘要:数据库可能存在千万级的数据,必须将这些行数据以一定的结构组织起来做到高效的增删改查。 我们将分别探索innodb和myisam两种引擎的索引方案。 一、InnoDB的索引 1、假设表初始没有记录,只有一个空页,所有记录按照主键顺序放到页中。随着记录的增长,一个页放不下所有记录,因此会分裂成多个页,每 阅读全文
posted @ 2022-10-17 20:59 一只阿木木 阅读(146) 评论(0) 推荐(0) 编辑
mysql 存储结构介绍及执行过程分析
摘要:MySQL体系结构介绍 1 mysql 的体系结构 MySQL整体的逻辑结构可以分为4层,客户层、服务层、存储引擎层、数据层 客户层 客户层:进行相关的连接处理、权限控制、安全处理等操作 服务层 服务层负责与客户层进行连接处理、处理以及执行SQL语句等,主要包含连接器、查询缓存、优化器、执行器、存储 阅读全文
posted @ 2022-10-17 17:32 一只阿木木 阅读(1254) 评论(0) 推荐(0) 编辑
mysql 死锁原因及解决办法
摘要:Mysql 锁类型 一、锁类型介绍: MySQL 有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间 阅读全文
posted @ 2022-10-15 19:44 一只阿木木 阅读(1850) 评论(0) 推荐(0) 编辑
MySQL read view 在RR和RC隔离级别下的异同
摘要:1.首先了解下什么是read view 这里说的 read view 是InnoDB 在实现 MVCC 时用到的一致性读视图,即 consistent read view,用于支持 RC(Read Committed,读提交)和 RR(Repeatable Read,可重复读)隔离级别的实现。 re 阅读全文
posted @ 2022-10-12 23:53 一只阿木木 阅读(875) 评论(0) 推荐(0) 编辑
为什么MySQL 默认隔离级别是RR,又被阿里设置为RC
摘要:我们知道,我们可以通过这个命令查看数据库当前的隔离级别,MySQL 默认隔离级别是RR. select @@tx_isolation; ANSI/ISO SQL定义的标准隔离级别有四种,从高到底依次为:可序列化(Serializable)、可重复读(Repeatable Reads)、提交读(Rea 阅读全文
posted @ 2022-09-24 22:23 一只阿木木 阅读(3419) 评论(0) 推荐(1) 编辑
in notin exists not exists 性能优化算法总结
摘要:in notin exists not exists 性能优化算法总结 1.1. in 和 exists 区别 1.2. not in 能不能走索引 1.3. not in 和 join 的关系 1.4. 和 not Exists 的关系 1.5. in 的实现过程 1.1. in 和 exists 阅读全文
posted @ 2022-08-30 23:09 一只阿木木 阅读(518) 评论(0) 推荐(0) 编辑
常见性能优化实践总结
摘要:前文参考: 通过 EXPLAIN 浅析数据库查询优化方法 https://www.cnblogs.com/yizhiamumu/p/10837481.html mysql 执行流程及解析顺序 https://www.cnblogs.com/yizhiamumu/p/16729650.html mys 阅读全文
posted @ 2022-08-27 17:39 一只阿木木 阅读(283) 评论(0) 推荐(0) 编辑

1 2 3 下一页
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示