mysql
文章平均质量分 83
mysql
_Romeo
知无不言,言无不尽。
展开
-
【MySQL运行原理篇】InnoDB整体架构
InnoDB主要由后台线程、内存池和磁盘文件三个部分组成。后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存是最近的数据,此外将已修改的数据文件刷新到磁盘文件,同时保证在数据库发生异常的情况下InnoDB能恢复到正常运行状态。原创 2022-11-22 10:22:34 · 818 阅读 · 0 评论 -
【MySQL运行原理篇】底层运行结构
MySQL底层其实就相当于一个web应用结构。例如:用户前端通过点击按钮发起ajax请求到java后台,后台接收到请求后将用户操作进行业务处理后,通过orm持久层框架(将业务实体与数据表联合)连接mysql,并将封装后的sql语句发送给mysql,mysql接收到sql后进行解析,优化,缓存。接着调用存储引擎的增删改查接口,对磁盘的database进行操作。原创 2022-11-22 10:09:59 · 782 阅读 · 2 评论 -
MYSQL索引查询问题质疑
我们在写mysql查询语句的时候,尤其是经验不足的同学肯定会想要怎么使用索引加快查询,或是我这样写到底会不会命中索引。那么现在我就列举几个常见的索引查询问题进行简单说明一下。(欢迎互怼!)原创 2022-11-14 10:48:26 · 463 阅读 · 0 评论 -
MySQL分表后,如何做分页查询?
MySQL使用MRG_MyISAM(MERGE)实现分表后查询的示例原创 2022-11-01 15:46:53 · 4139 阅读 · 3 评论 -
Xtrabackup工作原理
前言Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁);mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合。 Xtrabackup优点1)备份速度快,物理备份可靠2)备份过程不会打断正在执行的事务(无需锁表)3)能够基于压缩等功能节约磁盘空间和流量4)自原创 2022-04-21 15:38:30 · 2312 阅读 · 0 评论 -
Mysql优化之查询优化
面试官:mysql查询该怎么优化原创 2022-03-02 12:50:06 · 150 阅读 · 0 评论 -
Mysql数据库优化之索引失效
mysql索引什么情况下会失效,“请开始你的表演”原创 2022-03-02 10:12:22 · 504 阅读 · 0 评论 -
Mysql数据库优化之索引
大数据量下该怎么加快查询速度??原创 2022-03-02 09:36:12 · 564 阅读 · 0 评论 -
什么是乐观锁,什么是悲观锁
一、并发控制当程序中可能出现并发的情况时,就需要保证在并发情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。这种手段就叫做并发控制。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。常说的并发控制,一般都和数据库管理系统(DBMS)有关。在 DBMS 中的并发控制的任务,是确保在多个事务同时存取数据库中同一数据时,不破坏事务的隔离性、一致性和数据库的统一性。实现并发控制转载 2021-05-31 14:16:57 · 186 阅读 · 0 评论 -
MySQL用B+树(而不是B树)做索引的原因
众所周知,MySQL的索引使用了B+树的数据结构。那么为什么不用B树呢?1.B树1.1定义2.B+树3.B+树和B树的区别4.为什么MySQL选择B+树做索引5.参考先看一下B树和B+树的区别。1.B树维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读转载 2021-05-31 14:04:19 · 287 阅读 · 0 评论 -
一秒教你学会MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案
一秒教会你如何解决MySQL-this is incompatible with sql_mode=only_full_group_by错误前言:一、原理层面 这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。 很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了原创 2020-12-24 10:34:23 · 651 阅读 · 1 评论 -
数据库分库分表
数据库分库分表的应用场景及解决方案 现实业务场景中,为了保障客户体验并满足业务的线性增长。会对数据量巨大,且业务会始终进行的产品进行分表分库策略。但是如何合理的根据业务采取争取的分表分库策略至关重要。下面以具体实例来进行分析。• 场景一:用户中心,单key业务如何进行数据库切分• 场景二:订单中心,多key业务如何进行数据库切分场景一:用户中心数据库切分架构实践|场景介绍用户中心是一个十分常见的业务系统,涵盖用户登录、注册、信息查询与修改等服务。 用户的核心元数据为: User转载 2020-12-22 10:05:06 · 436 阅读 · 0 评论 -
MySQL回表查询
在读这篇文章的开始先布置个作业,欢迎在评论区互怼!!SQL优化问:假设有一张订单表order,主要包含了主键order_no,订单状态status,提交事件create_time等列,并且创建了status列索引和create_time列索引。此时通过create_time降序获取状态为1的订单编码。以下是具体实现代码;select order_no from order where status=1 order by create_time desc针对这条sql代码,还有哪些优化空间?各原创 2020-11-25 17:24:18 · 856 阅读 · 0 评论 -
docker安装mysql
1.安装docker使用yum安装yum install docker启动dockersystemctl start docker删除doker命令yum -y remove docker2.安装mysql这里装的是mysql5.6,先拉取mysql镜像docker pull mysql:5.6查看docker本地库是否拉取完成docker image创建并启动一个mysql容器docker run -itd --name mysql -e MYSQL_ROOT_PASS原创 2020-09-29 10:10:54 · 163 阅读 · 0 评论 -
Windows安装配置Openssl
超级详细教程OpenSSL官网没有提供windows版本的安装包,可以选择其他开源平台提供的工具。例如 http://slproweb.com/products/Win32OpenSSL.html以该工具为例,安装步骤和使用方法如下:选择32位或者64位合适的版本下载,例如Win64OpenSSL_Light-1_0_2h.exe:设置环境变量,例如工具安装在C:\OpenSSL-Win64,则将C:\OpenSSL-Win64\bin;复制到Path中mysql配置ssl相关证书创建 CA原创 2020-08-13 11:10:09 · 1512 阅读 · 0 评论 -
mysql与oracle的区别
相同点:1.都是关系型数据库管理系统2.都是目前比较流行的数据库不同点:#1.单引号的处理Mysql里可以用双引号包起字符串,Oracle里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。2.自动增长的数据类型处理Mysql是一个自动增长的数据类型,插入数据的时候,不需要管理,它自己会自动增长,Oracle不支持自动...转载 2018-11-26 21:12:49 · 459 阅读 · 0 评论