随笔分类 - 深挖计算机基础
摘要:一、复杂度分析的4个概念 1.最坏情况时间复杂度:代码在最理想情况下执行的时间复杂度。 要查找的变量 x 正好是数组的第一个元素 2.最好情况时间复杂度:代码在最坏情况下执行的时间复杂度。 如果数组中没有要查找的变量 x,我们需要把整个数组都遍历一遍 3.平均时间复杂度:用代码在所有情况下执行的次数
阅读全文
摘要:一、需要回表的案例 在下面表T中,执行下面语句,需要执行几次树的搜索操作?会扫描多少行? 1、初始化语句 2、这条SQL语句的执行流程 1、在 k 索引树上找到 k=3 的记录,取得 ID = 300...2、再到 ID 索引树查到 ID=300 对应的 R3;3、在 k 索引树取下一个值 k=5,
阅读全文
摘要:参考极客时间专栏学习笔记 一、深入浅出计算机组成原理 深挖计算机基础:深入浅出计算机组成原理学习笔记 二、趣谈Linux操作系统 深挖计算机基础:趣谈Linux操作系统学习笔记 三、Linux性能优化实战 深挖计算机基础:Linux性能优化学习笔记 四、MySQL实战45讲 深挖计算机基础:MySQ
阅读全文
摘要:一、解决问题的前提是定义清楚问题 通过对一些模糊需求进行假设,来限定要解决问题的范围 根据某个值查找数据,比如 select * from use where id=1234; 根据区间值来查询某些数据比如 select * from use where id > 1234 and id < 234
阅读全文
摘要:一、索引模型 1、索引的作用: 索引的出现其实是为了提高数据查询的效率,就像书的目录一样 提高数据查询效率 2、索引模型的优缺点比较 二、InnoDB索引模型 1、二叉树是搜索效率最高的,但是实际上大多数的数据库存储却并不适用二叉树? 1、其原因是,索引不止在内存中,还要写到磁盘上 2、N叉树由于在
阅读全文
摘要:一、实验环境 1、操作系统 2、内存 3、cpu 二、上传文件实验 1、窗口1 2、窗口2 上升截图 2分钟后 3、你可能困惑了,为什么缓冲区在不停增大?这又是哪些进程导致的呢? 2分钟后 通过cachetop的输出,我们看到rz进程的读写请求只有26.3%的命中率,并且未命中的缓存页数为29744
阅读全文
摘要:一、隔离性与隔离级别 1、事务的特性 原子性 一致性 隔离性 持久性 2、不同事务隔离级别的区别 读未提交:别人改数据的事务尚未提交,我在我的事务中也能读到。读已提交:别人改数据的事务已经提交,我在我的事务中才能读到。可重复读:别人改数据的事务已经提交,我在我的事务中也不去读。串行:我的事务尚未提交
阅读全文
摘要:一、重要的日志模块:redo log 1、通过酒店掌柜记账思路刨析redo log工作原理 2、InnoDB 的 redo log 是固定大小的 只要赊账记录在了粉板上或写了账本上,之后即使掌柜忘记了,比如停业几天,回复生意后依然可以通过账本和粉板上的数据明确赊账账目 有了redo log,Inno
阅读全文
摘要:一、Swap 原理 前面提到,Swap 说白了就是把一块磁盘空间或者一个本地文件(以下讲解以磁盘为例),当成内存来使用。它包括换出和换入两个过程 1、所谓换出 就是把进程暂时不用的内存数据存储到磁盘中,并释放这些数据占用的内存。 2、换入 则是在进程再次访问这些内存的时候,把它们从磁盘读到内存中来
阅读全文
摘要:一、平均负载与CPU使用率并没有直接关系 1、平均负载 单位时间内,系统处于可运行状态和不可中断状态的平均进程数也就是平均活跃进程数,它和cpu使用率并没有直接关系, 可运行状态: 正在使用的cpu或者正在等待cpu的进程 不可中断状态 进程是正处于内核关键流程中的进程,并且这些流程是不可打断的,比
阅读全文