摘要:
数据库优化工作 数据选型:合适的字段、类型,表越小查得越快。 范式应用:合理应用三范式和反三范式 存储引擎的选择:比如mysql若专门读取,可以使用myisam,需要写、事务操作选用innodb 索引优化:常用字段建立索引,使用时尽量覆盖索引、使用唯一索引、避免索引失效。还可以采用explain分析 阅读全文
posted @ 2021-04-20 21:05
i%2
阅读(70)
评论(0)
推荐(0)
摘要:
为什么生产环境中B+树的高度总是3-4层? 这里我们先假设 B+ 树高为 2,即存在一个根节点和若干个叶子节点,那么这棵 B+ 树的存放总记录数为:根节点指针数 * 单个叶子节点记录行数。 上文我们已经说明单个叶子节点(页)中的记录数 =16K/1K=16。(这里假设一行记录的数据大小为 1k,实际 阅读全文
posted @ 2021-04-20 21:04
i%2
阅读(596)
评论(0)
推荐(0)
摘要:
mysql的join原理 Nested-Loop Join 算法,需要区分驱动表和被驱动表,先访问驱动表,筛选出结果集,然后将这个结果集作为循环的基础,访问被驱动表过滤出需要的数据。 算法这两种表分为驱动表和被驱动表,使用嵌套循环。驱动表在外循环,被驱动表在内循环。 SNLJ,Simple 阅读全文
posted @ 2021-04-20 21:02
i%2
阅读(79)
评论(0)
推荐(0)
摘要:
聚集索引和非聚集索引的区别 聚集(clustered)索引,也叫聚簇索引。聚集索引的逻辑顺序与磁盘上行的物理存储顺序相同(因此Inodb叶子节点可以直接保存数据),非聚集索引不同。 非聚集索引的二次查询(回表)问题 使用以下语句进行查询,不需要进行二次查询,直接就可以从非聚集索引的节点里面就可以获取 阅读全文
posted @ 2021-04-20 21:01
i%2
阅读(76)
评论(0)
推荐(0)
摘要:
mysql隔离级别的实现原理 读未提交没有额外隔离实现,简单粗暴 串行化直接上共享锁,效率低,但隔离效果好。 可重复读隔离级别(读已提交)利用MVCC做版本控制,每个事务都会有当前数据库的快照 InnoDB 利用了“所有数据都有多个版本”的这个特性,实现了“秒级创建快照”的能力。 在时间线上,每个事 阅读全文
posted @ 2021-04-20 21:00
i%2
阅读(56)
评论(0)
推荐(0)
摘要:
mysql数据备份与恢复 mysqldump命令 在安装目录/data/哪个数据库下的ibdata*, *.ibd, *.frm, *.ib_logfile,所以备份这些文件即可备份InnoDB的数据,另外别忘了将MySQL的配置文件my.cnf也一并备份起来。 mysql主从复制 #从节点执行 c 阅读全文
posted @ 2021-04-20 20:59
i%2
阅读(45)
评论(0)
推荐(0)
摘要:
sql执行流程 MySQL可以分为Server层和存储引擎两部分 Server层包含连接器,查询缓存,分析器,优化器,执行器等,涵盖了MySQL的大多数的核心服务功能,以及所有的内置函数(如日期,时间,数学,和加密函数等),所有的跨存储引擎的功能都在这一层实现,比如存储过程,触发器,试图等 存储引擎 阅读全文
posted @ 2021-04-20 20:58
i%2
阅读(57)
评论(0)
推荐(0)
摘要:
Innodb中的线程 Master Thread Master Thread具有最高的线程优先级别,内部由多个循环组成:主循环(loop)、后台循环(background loop)、刷新循环(flush loop)、暂停循环(suspend loop),Master Thread会根据数据库运行的 阅读全文
posted @ 2021-04-20 20:56
i%2
阅读(50)
评论(0)
推荐(0)
摘要:
树 平衡二叉树 二叉排序树最大的缺点就是无法保证平衡性,若极端情况可能退化成单链表,丧失二叉排序树的优点。因此平衡二叉树就是左子树和右子树的高度差(也叫平衡因子)不超过1。建树的时候要根据条件进行左旋和右旋。 平衡二叉树应用:AVL树(较早出现,调整代价大,windows进程地址空间管理)、 阅读全文
posted @ 2021-04-20 20:54
i%2
阅读(69)
评论(0)
推荐(0)
摘要:
堆 堆可以说是特殊的数组,但具有(完全)二叉树的性质。一般使用堆都是使用2种:最大堆、最小堆。最小堆特点:任意一个节点值都比子节点值要小,且逐级递增。(大堆类似)。(若p为父节点,子节点访问:左2p+1,右2p+2)。根据堆的特点,因为有序性,其使用核心好处就是可以避免像普通数组一样徒劳的遍历。 阅读全文
posted @ 2021-04-20 20:53
i%2
阅读(74)
评论(0)
推荐(0)
摘要:
海量数据处理 海量数据高频(topK)问题 解决思路: 分而治之,进行哈希取余; 使用 HashMap 统计频数; 求解最大的 TopN 个,用小顶堆;求解最小的 TopN 个,用大顶堆。 高频(topK)问题如: 有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是 阅读全文
posted @ 2021-04-20 20:51
i%2
阅读(77)
评论(0)
推荐(0)
摘要:
单点登录系统原理和实现 全称Single Sign On(SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分 问题引出:web应用采用browser/server架构,http协议,且http是无状态协议。因此需要通过用户附加 请求参 阅读全文
posted @ 2021-04-20 20:49
i%2
阅读(152)
评论(0)
推荐(0)
摘要:
分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证 阅读全文
posted @ 2021-04-20 20:48
i%2
阅读(54)
评论(0)
推荐(0)
摘要:
怎么自己实现限流框架 计数器法 设定一个计数器,和一个阈值,每次请求计数器+1,若达到阈值就限流。简单粗暴 滑动窗口 设定一个时间窗口,分为若干小格,每格有计数器,每格代表一个时间间隔(比如10s),这个间隔内的请求会在他的计数器内累加,那么限流规则就是:将所有格子的计数总数和设定的阈值比较 阅读全文
posted @ 2021-04-20 20:45
i%2
阅读(128)
评论(0)
推荐(0)
摘要:
为什么有了七层还有五层的概念 应用层、表示层、会话层都是应用程序级别的实现,可以归类为1层; 传输层更偏向于操作系统级别; 网络层偏向于各种路由层面; 数据链路层偏向于设备驱动程序; 物理层偏向于网络接口硬件设备 为什么还有TCP/IP四层模型概念? 一样是面向的对象不同问题 应用层面向数据段 传输 阅读全文
posted @ 2021-04-20 20:43
i%2
阅读(59)
评论(0)
推荐(0)
摘要:
TCP的keep-alive TCP内部自带的心跳包机制,简单讲就是,连接的一端(以服务器端举例)检测到超过一定时间(称为空闲时间,系统默认是 7200000 ms,即2个小时)没有数据传输,就会向client端发送一个keep-alive packet(该心跳包是ACK和当前TCP序列号减一的 阅读全文
posted @ 2021-04-20 20:40
i%2
阅读(191)
评论(0)
推荐(0)
摘要:
TCP如何保证可靠数据传输 ACK确认应答机制、校验和、序列号、流量控制、拥塞控制、ARQ超时重传 ARQ,自动重传请求(Automatic Repeat-reQuest,ARQ),包括停等式ARQ、GBN回退n帧的ARQ、选择性重传ARQ、混合ARQ ARQ超时重传 由于TCP要保证有序性 阅读全文
posted @ 2021-04-20 20:38
i%2
阅读(175)
评论(0)
推荐(0)
摘要:
http1.0和http1.1的区别 长连接 http1.1默认是长连接,有个请求头是Connection: Keep-Alive,长连接模式下,可以通过Content-Length头字段来查看是否传输完毕。 Host域 HTTP1.1在Request消息头里头多了一个Host域,必须包含H 阅读全文
posted @ 2021-04-20 20:29
i%2
阅读(505)
评论(0)
推荐(0)
摘要:
跨域 什么是跨域 出现的原因是浏览器的同源策略,限制了js向另一个域的内容进行交互。所谓的同源就是:两个页面具有相同协议、主机(域名)、端口号。最常见就是ajax请求发送失败。 解决措施 降域 仅限于主域相同的情况。比如京东商城,主域都是jd.com,但商品服务(product.jd.com)、订单 阅读全文
posted @ 2021-04-20 20:25
i%2
阅读(57)
评论(0)
推荐(0)
摘要:
临界区保护 临界区指的是一个访问共用资源的程序片段,且资源具有互斥性。当有进程进入临界区段时,其他线程或是进程必须等待 PV操作:进入临界区的操作,分布在临界区头尾。 进入临界区的调度原则: 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 任何时候,处于临界区内的进程不可多于一个。如已 阅读全文
posted @ 2021-04-20 20:24
i%2
阅读(83)
评论(0)
推荐(0)