← 返回目录

数据库

第 48 / 152 卷日期:

6、多级反馈队列

一个进程需要执行 100 个时间片,如果采用时间片轮转调度算法,那么需要交换 100 次。

多级队列是为这种需要连续执行多个时间片的进程考虑,它设置了多个队列,每个队列时间片大小都不同,例如 1,2,4,8,..。进程在第一个队列没执行完,就会被移到下一个队列。

这种方式下,之前的进程只需要交换 7 次。每个队列优先权也不同,最上面的优先权最高。因此只有上一个队列没有进程在排队,才能调度当前队列上的进程。

可以将这种调度算法看成是时间片轮转调度算法和优先级调度算法的结合

数据库

一、场景题:所在的公司选择MySQL数据库作数据存储,一天五万条以上的增量,预计运维三年,你有哪些优化手段?

  1. 设计良好的数据库结构,允许部分数据冗余,尽ᰁ避免join查询,提高效率。选择合适的表字段数据类型和存

储引擎,适当的添加索引。

  1. MySQL库主从读写分离。
  2. 找规律分表,减少单表中的数据ᰁ提高查询速度。
  3. 添加缓存机制,比如Memcached,Apc等。
  4. 不经常改动的页面,生成静态页面。
  5. 书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, field_3 FROM TABLE。

二、SQL语言四大类别:

  1. 数据定义语言(DDL)
  2. 数据操纵语言(DML)
  3. 数据查询语言(DQL)
  4. 数据控制语言(DCL):授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果。
图 68-1
图 68-1

三、垂直分表和水平分表

1、水平分表:

概念:

一条记录一条记录切断分出来!【按照行拆分,将一张表拆分成多张表】

拆分的方法:

数据取模,按照模相同的放到同一张表中【随机分表】;时间维度分表【连续分表】

优点:

  1. 表关联基本能够在数据库端全部完成;
  2. 不会存在某些超大型数据ᰁ和高负载的表遇到瓶颈的问题;
  3. 应用程序端整体架构改动相对较少;
  4. 事物处理相对简单;
  5. 只要切分规则能定义好,基本上较难遇到扩展性限制;

缺点:

  1. 切分规则相对更为复杂,很难抽象出一个能满足整个数据库的切分规则;
  2. 后期数据的维护难度有所增加,人为手工定位数据更为困难;
  3. 应用系统各模块耦合度较高,可能会对后面数据的迁移拆分造成一定的困难。

2、垂直分表:

概念:

把常用的、不常用的字段很长的拆出来!是指表数据列的拆分,把一张列比较多的表拆分成多张表。

表的记录并不多,但是字段却很长,表占用空间很大,检索表的时候需要执行大ᰁ的IO,严᯿降低了性能。

这时候需要把大的字段拆分到另外一个表,并且该表与原表是一对一的关系。

垂直拆分规则:

  1. 把不常用的字段单独放在一个表;
  2. 把text,blob等大字段拆分出来放在附表中;
  3. 经常组合查询的列放在一张表中;

优点:

  1. 数据库的拆分简单明了,拆分规则明确
  2. 应用程序模块清晰明确,整合容易
  3. 数据维护方便易行,容易定位

缺点:

  1. 部分表关联无法在数据库级别完成,需要在程序中完成;
  2. 对于访问极其频繁且数据ᰁ超大的表仍然存在性能瓶颈,不一定满足需求;
  3. 事务处理相对更为复杂;
  4. 切分达到一定程度后,扩展性会遇到限制;
全站分卷索引 · 152 卷
  1. 1代码随想录知识星球精华(最强八股文)第五版(面经篇)
  2. 2后端面经02-美团
  3. 3Java面经02-阿里ICBU
  4. 4Java面经-04-CVET
  5. 5Java面经-06-字节后端
  6. 6Java面经08-用友
  7. 7Java面经09-快手
  8. 83. 计算机网络
  9. 94. 数据库
  10. 105. 算法
  11. 11Java面经11-美团
  12. 121.3 java的4种引用
  13. 132. JVM
  14. 143. 操作系统
  15. 154. 计算机网络
  16. 165. 数据库
  17. 17Java面经13
  18. 18Java面经14
  19. 19Java面经16
  20. 20Java面经17
  21. 21Java面经18
  22. 22二面
  23. 23三面
  24. 24面经19-Java-字节暑期实习
  25. 25字节三面
  26. 26面经21-Java-蚂蚁暑期实习
  27. 27蚂蚁三面
  28. 28MySQL
  29. 29计算机网络
  30. 30拉链法的工作原理
  31. 31确定桶下标
  32. 32扩容 - 基本原理
  33. 33链表转红黑树
  34. 34子进程和线程的区别
  35. 35协程
  36. 36数据库
  37. 37哈希索引
  38. 38计算机网络
  39. 39TCP和UDP的区别
  40. 40面经25-Java-百度二面
  41. 41面经26-Java-京东一面
  42. 42面经27-Spring
  43. 43计算机基础面经28
  44. 44计算机基础面经29
  45. 45计算机网络
  46. 46操作系统
  47. 47任务调度算法
  48. 48数据库
  49. 49计算机基础面经31
  50. 50乐观锁两种实现机制
  51. 51版本号机制
  52. 52死锁相关问题
  53. 53计算机网络
  54. 54拥塞控制的四种方法
  55. 55计算机基础面经32
  56. 56三次握手的流程
  57. 57计算机基础面经33
  58. 58计算机基础面经34
  59. 59异步
  60. 60C++后端
  61. 61面经3-C++-地平线
  62. 62面经6-C++-国电南瑞
  63. 63面经7-c++后端-字节
  64. 64二面
  65. 65面经11-C++-OPPO
  66. 66面经12-C++-商汤
  67. 67SelectDB
  68. 68面经15-C++-中望
  69. 69面经16-C++-米哈游
  70. 70面经17-C++-旷世
  71. 71面经19-C++-蔚来
  72. 72面经20-C++-第四范式
  73. 73面经21-C++-TP-Link
  74. 74面经23-C++-猿辅导
  75. 75面经25-C++-文远知行
  76. 76面经26-C++-百度
  77. 77百度二面
  78. 78百度三面
  79. 79面经27-C++-ZEKU
  80. 80ZEKU哲库HR面
  81. 81面经28-C++-VIVO
  82. 82面经29-C++-TPLINK
  83. 83字节二面
  84. 84HR面
  85. 85面经32-C++
  86. 86TCP的粘包与拆包
  87. 87引入协程的原因
  88. 88面经34-C++
  89. 892. 指针与引用的区别
  90. 902. Nagle 算法与延迟确认
  91. 91数据库
  92. 922. MVCC-多版本并发控制
  93. 93计算机网络
  94. 94面经36
  95. 95面经37
  96. 96面经38
  97. 97面经39-C++-拼多多+字节
  98. 98字节一面【7.27】
  99. 99shopee测开一面【7.29】
  100. 100一、表面上开销
  101. 101面经44-京东二面
  102. 102Go后端
  103. 103二面
  104. 104面经3-Go-字节日常实习
  105. 105字节二面
  106. 106字节三面
  107. 107HR面
  108. 108面经5-Go-字节暑期实习
  109. 109字节二面
  110. 110字节三面
  111. 111面经02-测开-百度提前批
  112. 112二面
  113. 113面经06-测试-海尔智家
  114. 114面经07-测开-蔚来
  115. 115面经09-测试-中望
  116. 116面经10-测开-ZEKU
  117. 117面经12-测试-科大讯飞
  118. 118面经15-测开-美团暑期实习
  119. 119面经16-测开-外企社招
  120. 120Nvidia四面
  121. 121面经2-前端-百度日常实习
  122. 122面经3-前端-得物面经
  123. 123面经4-前端-腾讯健康
  124. 124面经5-前端-字节面经
  125. 125面经6-前端-携程前端
  126. 126面经7-前端-顺丰
  127. 127面经9-前端-比特大陆日常实习
  128. 128面经10-前端-抖音
  129. 129面经11-前端-蔚来/百度/oppo
  130. 130百度提前批
  131. 131面经12-前端-知乎暑期实习
  132. 132知乎二面
  133. 133百度二面
  134. 134面经2-Android客户端-大疆
  135. 135二面
  136. 136面经3-客户端-字节暑期实习
  137. 137字节二面
  138. 138字节二面(深入项目,1h)
  139. 139面经5-客户端-字节
  140. 140面经6-客户端-字节
  141. 141算法
  142. 142面经3-NLP-科大讯法
  143. 143面经4-NLP-科大讯法
  144. 144面经7-游戏算法-莉莉丝
  145. 145面经10-算法
  146. 146面经11-算法-百度pnc暑期实习
  147. 147百度二面
  148. 148抖音一面
  149. 149嵌入式
  150. 150面经3-嵌入式-芯动科技
  151. 151面经4-嵌入式-韶音科技
  152. 152面经6-嵌入式-新华三