mysql
文章平均质量分 93
错觉_
这个作者很懒,什么都没留下…
展开
-
mysql---分表分库
分表分库我们都建议MySQL单表数据量不要超过1000万,最好是在500万以内,如果能控制在100万以内,那是 最佳的选择了,基本单表100万以内的数据,性能上不会有太⼤的问题,前提是,只要你建好索引就⾏,其实保证 MySQL⾼性能通常没什么特别⾼深的技巧,就是控制数据量不要太⼤,另外就是保证你的查询⽤上了索引,⼀般就没 问题。1.大型电商网站的上亿数据量的用户表如何进行水平拆分?⼀个背景是⼀个中型的电商公司,不 是那种顶级电商巨头,就算是⼀个垂直领域的中型电商公司吧,那么他覆盖的⽤户⼤概算他有1亿以原创 2021-02-21 22:01:23 · 590 阅读 · 1 评论 -
mysql整理
一InnoDB记录存储结构和数据页面结构1.为什么不能直接更新磁盘上的数据? 因为磁盘随机读写的性能是最差的,所以直接更新磁盘文件,必然导致我们的数据库完全无法抗下任何一点点稍微高 并发一点的场景 所以MySQL才设计了如此复杂的一套机制,通过内存里更新数据,然后写redo log以及事务提交,后台线程不定时刷 新内存里的数据到磁盘文件里 通过这种方式保证,你每个更新请求,尽量就是更新内存,然后顺序写日志文件。 更新内存的性能是极高的,然后顺序写磁盘上的日志文件的性能原创 2021-02-21 22:00:14 · 640 阅读 · 0 评论 -
mysql思维导图
原创 2020-01-12 02:13:02 · 138 阅读 · 0 评论 -
SQL语句是如何执行的
1. 一条SQL查询语句是如何执行的? mysql> select * from T where ID=10; 平时通常输入一条语句, 返回一个结果 , 却不知道这条语句在MySQL内部的执行过程,下面分析MySQL内部的执行过程;MySQL可以分为Server层和存储引擎层两部分Server层包括连接器、 查询缓存、 分析器、 优化器、 执行器等, 涵盖MySQL的大多数...原创 2019-12-31 16:15:26 · 546 阅读 · 0 评论 -
mysql——主从复制
1. MySQL主备的基本原理master将改变记录到二进制binlog,然后发送给slaveslave将master的binlog日志保存到中继日志(relay log)slave解析中继日志文件把数据同步到数据库中,mysql复制是异步的且串性化的2.MySQL是怎么保证主备一致的?binlog的存在确保了在备库执行相同的binlog,可以得到与主库相同的状态。3.MySQL ...原创 2019-12-31 16:14:28 · 115 阅读 · 1 评论 -
mysql——sql原理
1.SQL语句为什么变“慢”了 当内存数据页跟磁盘数据页内容不一致的时候, 我们称这个内存页为“脏页”。 内存数据写入到磁盘后, 内存和磁盘上的数据页的内容就一致了, 称为“干净页” , 平时执行很快的更新操作, 其实就是在写内存和日志, 而MySQL偶尔“抖”一下的那个瞬间, 可能就是在刷脏页(flush) 。2. 什么情况会引发数据库的flush过程呢?InnoDB的redo l...原创 2019-12-31 16:13:52 · 195 阅读 · 1 评论 -
mysql——隔离性与隔离级别
隔离性与隔离级别ACID(Atomicity、 Consistency、 Isolation、 Durability, 即原子性、 一致性、 隔离性、 持久性)1.隔离性 当数据库上有多个事务同时执行的时候, 就可能出现脏读(dirtyread) 、 不可重复读(non-repeatable read) 、 幻读(phantom read) 的问题, 为了解决这些问题, 就有了“隔离级别...原创 2019-12-31 16:12:19 · 173 阅读 · 0 评论 -
mysql——锁
MySQL里面的锁大致可以分成全局锁、 表级锁和行锁三类1.全局锁一个库被全局锁上以后, 你要对里面任何一个表做加字段操作, 都是会被锁住的。 对整个数据库实例加锁。 MySQL提供了一个加全局读锁的方法, 命令是Flush tables with read lock (FTWRL)。 当你需要让整个库处于只读状态的时候, 可以使用这个命令, 之后其他线程的以下语句会被阻塞: 数据...原创 2019-12-31 16:11:50 · 113 阅读 · 0 评论 -
mysql——索引
1. 索引的常见模型索引可以用于提高读写效率的数据结构很多, 这里介绍三种常见、 也比较简单的数据结构, 它们分别是哈希表、 有序数组和搜索树1. 哈希表哈希的思路很简单, 把值放在数组里, 用一个哈希函数把key换算成一个确定的位置, 然后把value放在数组的这个位置。 不可避免地, 多个key值经过哈希函数的换算, 会出现同一个值的情况。 处理这种情况的一种方法是, 拉出一个链...原创 2019-12-30 20:11:25 · 88 阅读 · 0 评论