mysql学习笔记

1.隔离级别

数据库的级别分成读未提交、读提交、可重复读、可串行化。

读未提交是其他事务未提交我也未提交就能读到,读提交是其他事务提交可以读到,可重复读是指在一次事务前后读到的内容一致,这需要保存一个"快照",可串行化是只只能一个一个操作。

其中比较常见的是第二个读提交和可重复读。

2.索引

数据库里建立索引是为了快速查找,对于主键id是会建立索引的,除此之外其他字段需要工程师来决定是否添加为索引(建立索引树),当在其余索引只搜索主键id的时候可以省略回主索引搜索的部分。

唯一索引是指键值不能重复的索引,显然名字不是唯一索引。

在选择的时候多数情况下选择普通索引。

3.redolog和binlog日志

分别是物理日志和归档日志,采用两阶段写的方法保证数据库在停电崩溃等情况下仍然能保存正确的内容。

4.随机选择三行

一种方法是给每行生成一个随机数,然后对随机数排序选择最小的三行对应的内容;更好的方法是rand三行来获得随机的三行。这里rand可以用行而非主键来获得。因为行在逻辑上 是连续的。

对于选择最小的三行可以使用最大堆。

总结我印象深的关键词:mysql的隔离级别、 读写锁、间隙锁;主备库和主从库

相关推荐
知识分享小能手9 分钟前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
马可家的菠萝1 小时前
你收藏的资料,有多少真的被你第二次打开过?
笔记·知识管理·效率提升·个人知识库
&不羁之风&2 小时前
从 MySQL 到 MongoDB:80 万系统日志(sys_log)平滑迁移完整实战(含 Windows 环境 mongoimport 安装与避坑)
mysql·mongodb
小刘在重生~2 小时前
Java Lock 显式锁案例|ReentrantLock 解决多线程安全问题(超详细实战)
java·笔记·面试
职豚求职小程序2 小时前
中国人寿27秋招笔试[特殊字符]北森机考|备考攻略
笔记
江湖人称菠萝包2 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter9-Qt Charts
笔记·qt·qt5
乐橙开放平台3 小时前
从「多套客户端」到一套开放能力:乐橙视频监控能力复盘
笔记·物联网·自动化·音视频·智能家居
AI职业加油站3 小时前
数据要素价值释放年:大数据治理工程师,站上职业新风口
人工智能·学习·职场和发展·数据分析·职场发展
这个DBA有点耶3 小时前
InnoDB页结构深入:页分裂、页合并、填充因子——B+树底层机制全解析
数据库·mysql·架构
啄缘之间3 小时前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva