![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 94
zuojunyuan
这个作者很懒,什么都没留下…
展开
-
InnoDB 锁定和事务模型
熟悉InnoDB的锁定和事务模型,对于实现高流量,高并发和高可靠的应用程序和调整MySQL性能是非常重要的。1.InnoDB 锁类型原创 2020-12-03 15:49:22 · 252 阅读 · 0 评论 -
InnoDB体系结构简介
1.总览下图显示了组成InnoDB存储引擎体系结构的内存和磁盘体系结构。2.InnoDB 内存体系结构2.1 缓冲池(Buffer Pool)缓冲池是一块InnoDB用来缓存表和索引数据的内存区域。缓冲池允许直接从内存中访问经常使用的数据,从而加快处理速度。在专用的服务器上,通常将80%的物理内存分配给缓冲池。为了提高大容量读取操作的效率,缓冲池被分为多个页面,每个页面可能包含许多行记录。 为了提高缓存管理的效率,缓冲池被实现为页面的链接列表。 使用LRU算法的变体将很少使用的数据从原创 2020-11-05 17:04:52 · 345 阅读 · 1 评论 -
刨析MySQL5.7版本InnoDB存储引擎(总览)
InnoDB是一种用来平衡高可用和高性能的存储引擎。在MySQL 5.7版本中,InnoDB是默认的MySQL存储引擎。InnoDB的优势:DML语句操作遵循ACID模型,使用事务机制(提供崩溃恢复能力)来保护用户数据 通过行级锁和一致性读特性增加多用户访问时的性能和并行度 InnoDB数据表通过主键方式来优化查询InnoDB特性:特性 是否支持 B树索引 支持 备份/时间点恢复(服务层实现) 支持 集群数据库支持 否 集群索引 支持 压缩原创 2020-11-04 11:00:14 · 531 阅读 · 0 评论 -
MyBatis缓存配置
1. 前言使用缓存可以使应用更快地获取数据,避免频繁的数据库交互,尤其是在查询越多,缓存命中率越高的情况下,使用缓存的作用就越明显。MyBatis作为持久化框架,提供了非常强大的查询缓存特性,可以非常方便地配置和定制使用。MyBatis的缓存类型分为两种:一级缓存和二级缓存。下面将就这两种缓存类型分别进行介绍。2. 缓存2.1 一级缓存先通过一个简单示例来看看MyBatis一...转载 2020-02-26 09:45:06 · 212 阅读 · 0 评论 -
如何设计可动态扩容缩的分库分表
1 面试题 如何设计可动态扩容的分库分表2 考点分析选一个数据库中间件,然后深入分析 设计分库分表的方案,要分成多少个库,每个库分成多少个表 基于已选的数据库中间件,以及在测试环境建立好的分库分表,?能否正常执行分库分表的读写 完成单库单表到分库分表的迁移(使用双写方案) 线上系统,开始基于分库分表对外服务后续随着业务的发展需要扩容成6个库,每个库需要12个表,你怎么来增...转载 2020-02-21 16:51:39 · 406 阅读 · 0 评论 -
MySQL千万级数据量优化方案
前言千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区。除此之外,还有其他的思路和解决方案。根据本人多年的工作经验,做了如下总结。方案...原创 2020-02-19 21:52:30 · 5263 阅读 · 0 评论 -
MySQL自定义排序函数FIELD()介绍
MySQL可以通过field()函数自定义排序格式:field(value,str1,str2,str3,str4)value与str1、str2、str3、str4比较,返回1、2、3、4,如遇到null或者不在列表中的数据则返回0. 这个函数好像Oracle中没有专门提供(也可能是我没有用到),不过自己实现这样一个函数还是比较简单的。mysql> select * fro...转载 2020-02-06 19:32:47 · 399 阅读 · 0 评论