
MySQL
Benett-Chen
心存美好,向往未来
展开
-
MySQL之索引分享
索引本质官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构本质:索引是数据结构Innodb B-Tree 索引B+树成因:我们知道,每一种数据结构的出现都是为了解决特定的问题,那么B+树的出现是为了解决什么问题,那就是:每次查找数据时把磁盘IO次数控制在一个很小的数量级,最好是常数数量级。在理解B+树结构之前,先提一下计算机的局部性原理:当计算机访问一个地址的数...原创 2020-03-01 19:54:25 · 300 阅读 · 0 评论 -
数据库的一些知识点记录
为什么大公司不推荐用连表查询而使用单表查询第一:单机数据库计算资源很贵,数据库同时要服务写和读,都需要消耗CPU,为了能让数据库的吞吐变得更高,而业务又不在乎那几百微妙到毫秒级的延时差距,业务会把更多计算放到service层做,毕竟计算资源很好水平扩展,数据库很难啊,所以大多数业务会把纯计算操作放到service层做,而将数据库当成一种带事务能力的kv系统来使用,这是一种重业务,轻DB的架构思...原创 2019-11-14 11:26:50 · 241 阅读 · 0 评论 -
MySQL之B树和B+树
首先抛个问题,MySQL的索引为何用树而不是其他数据结构如hash,hash的读和写都是O(1),而树的话查询和插入都是O(log(n))?答:因为索引设计成树,是和SQL需求相关的,如果单独只查询某条数据,自然是hash算法快,但是我们平常用的查询往往不是只查询单条数据,而是order by,group by,< >这种排序查询,遇到这种情况,hash就会退化成O(n),而树因为它...原创 2019-08-15 18:14:12 · 11799 阅读 · 0 评论 -
MySQL事务和锁
1.MySQL事务四大特性原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;一致性(Consistency): 执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;隔离性(Isolation): 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;持久性(Durability...原创 2020-04-15 14:25:28 · 118 阅读 · 0 评论