2023年10月27日17:50:07
58.01. 进阶-课程介绍(Av765670802,P58)
59.02. 进阶-存储引擎-MySQL体系结构(Av765670802,P59)
60.03. 进阶-存储引擎-简介(Av765670802,P60)
61.04. 进阶-存储引擎-InnoDB介绍(Av765670802,P61)
62.05. 进阶-存储引擎-MyISAM和Memory(Av765670802,P62)
63.06. 进阶-存储引擎-选择(Av765670802,P63)
64.07. 进阶-存储引擎-小结(Av765670802,P64)
分成innodb myISam memory
myISam 读写快,但是不支持事务,想一些评论啥的,可以丢失的非核心业务数据可以用这个村
memory存在内存里面,缓存表什么的。但是一般都被 MongoDB代替了。
65.08. 进阶-MySQL安装(linux版本)(Av765670802,P65)
66.09. 进阶-索引-概述(Av765670802,P66)
67.10. 进阶-索引-结构-介绍(Av765670802,P67)
68.11. 进阶-索引-结构-Btree(Av765670802,P68)
69.12. 进阶-索引-结构-B+tree(Av765670802,P69)
合着B+tree底层是单链表,Mysql innodb对这个结构进行了优化,改成了双向链表。
70.13. 进阶-索引-结构-hash(Av765670802,P70)
hash就是快,但是不能用于范围查找,只能是 = ,in。
71.14. 进阶-索引-结构-思考题(Av765670802,P71)
为什么选B+tree,因为二叉树不平衡,会导致层级过高,搜索变慢。
为什么不用B树,因为它的结构使得 ,一页存储的键值减少,从而指针减少,而且保存了大量数据使得树变高,查询效率变低,
72.15. 进阶-索引-分类(Av765670802,P72)
先二级索引(叶子结点挂的是主键值),后聚集索引(叶子结点底下挂的是行数据),叫做回表查询。
73.16. 进阶-索引-思考题(Av765670802,P73)
三层,2000万数据。
74.17. 进阶-索引-语法(Av765670802,P74)
75.18. 进阶-索引-性能分析-查看执行频次(Av765670802,P75)
76.19. 进阶-索引-性能分析-慢查询日志(Av765670802,P76)
77.20. 进阶-索引-性能分析-show profiles(Av765670802,P77)
78.21. 进阶-索引-性能分析-explain(Av765670802,P78)
79.22. 进阶-索引-使用规则-验证索引效率(Av765670802,P79)
80.23. 进阶-索引-使用规则-最左前缀法则(Av765670802,P80)
最左前缀是指 联合索引最左边的索引字段必须存在,与sql编写顺序无关。
">="不失效,“> <”失效
81.24. 进阶-索引-使用规则-索引失效情况一(Av765670802,P81)
索引列运算 失效
字符串索引不加引号 name=123 失效
like "xx%"只有这种不失效
or 连接的两个语句,必须都有索引,才能用起来索引,否则失效
82.25. 进阶-索引-使用规则-索引失效情况二(Av765670802,P82)
数据分布影响,如果用索引比全表查询还要慢,那就全表查询。
is null ,is not null 哪个情况少,哪个就用索引。
83.26. 进阶-索引-使用规则-SQL提示(Av765670802,P83)
from table use/ignore/force index(idx_email_5 ) where xxx
use 我建议,ignore 忽视这个索引,force(就用这个)
84.27. 进阶-索引-使用规则-覆盖索引&回表查询(Av765670802,P84)
通过聚集索引或者二级索引一次就能查到所有的东西叫做覆盖索引。不行就需要回表。
主键聚集索引底下绑的所有数据,当然可以。而二级索引就不行了,如果是单列索引,撑死就是 name,id。
所以就需要建立联合索引,来实现覆盖索引。
85.28. 进阶-索引-使用规则-前缀索引(Av765670802,P85)
大文本字符串,建立索引浪费磁盘体积,涉及大量IO,降低查询速度。
需要考虑前缀的区分度。(一个前缀只对应一条数据,那么区分度就是1)
利用前缀索引
create index idx_email_5 on table(email(5))
查询过程就是,根据前五个字符,定位到二级索引的id,然后在聚集索引那里获取到行数据,之后比较完整的字符串对不对,对了返回,然后继续回二级索引,链表的下一个,比较是不是还是这个前缀,如此。
86.29. 进阶-索引-使用规则-单列&联合索引(Av765670802,P86)
87.30. 进阶-索引-设计原则(Av765670802,P87)
区分度高,例如身份证号。区分度低,例如性别。。。(之前一直都搞错了,还说索引应该建立在可以最多划分的数据字段上)
88.31. 进阶-索引-小结(Av765670802,P88)
89.32. 进阶-SQL优化-插入数据(Av765670802,P89)
之前在简历上写的,sql优化,人家问起来,就说加索引。。
合着sql优化还是一个章节。
批量插入
多个插入之后,再统一提交事务
再大就使用 load
100w数据 load 16s,insert 10多分钟。
主键顺序插入,优于乱序插入。
90.33. 进阶-SQL优化-主键优化(Av765670802,P90)
91.34. 进阶-SQL优化-order by优化(Av765670802,P91)
92.35. 进阶-SQL优化-group by优化(Av765670802,P92)
93.36. 进阶-SQL优化-limit优化(Av765670802,P93)
94.37. 进阶-SQL优化-count优化(Av765670802,P94)
95.38. 进阶-SQL优化-update优化(避免行锁升级为表锁)(Av765670802,P95)
96.39. 进阶-SQL优化-小结(Av765670802,P96)
2023年10月27日23:59:28
视图不看了,从锁开始看。
97.40. 进阶-视图-介绍及基本语法(Av765670802,P97)
98.41. 进阶-视图-检查选项(cascaded)(Av765670802,P98)
99.42. 进阶-视图-检查选项(local)(Av765670802,P99)
100.43. 进阶-视图-更新及作用(Av765670802,P100)
101.44. 进阶-视图-案例(Av765670802,P101)
102.45. 进阶-存储过程-介绍(Av765670802,P102)
103.46. 进阶-存储过程-基本语法(Av765670802,P103)
104.47. 进阶-存储过程-变量-系统变量(Av765670802,P104)
105.48. 进阶-存储过程-变量-用户定义变量(Av765670802,P105)
106.49. 进阶-存储过程-变量-局部变量(Av765670802,P106)
107.50. 进阶-存储过程-if判断(Av765670802,P107)
108.51. 进阶-存储过程-参数(IN,OUT,INOUT)(Av765670802,P108)
109.52. 进阶-存储过程-case(Av765670802,P109)
110.53. 进阶-存储过程-循环-while(Av765670802,P110)
111.54. 进阶-存储过程-循环-repeat(Av765670802,P111)
112.55. 进阶-存储过程-循环-loop(Av765670802,P112)
113.56. 进阶-存储过程-游标-cursor(Av765670802,P113)
114.57. 进阶-存储过程-条件处理程序-handler(Av765670802,P114)
115.58. 进阶-存储函数(Av765670802,P115)
116.59. 进阶-触发器-介绍(Av765670802,P116)
117.60. 进阶-触发器-案例1(insert类型)(Av765670802,P117)
118.61. 进阶-触发器-案例2(update类型)(Av765670802,P118)
119.62. 进阶-触发器-案例3(delete类型)(Av765670802,P119)
120.63. 进阶-视图&存储过程&触发器-小结(Av765670802,P120)
121.64. 进阶-锁-介绍(Av765670802,P121)
122.65. 进阶-锁-全局锁-介绍(Av765670802,P122)
123.66. 进阶-锁-全局锁-一致性数据备份(Av765670802,P123)
124.67. 进阶-锁-表级锁-表锁(Av765670802,P124)
125.68. 进阶-锁-表级锁-元数据锁(Av765670802,P125)
126.69. 进阶-锁-表级锁-意向锁(Av765670802,P126)
127.70. 进阶-锁-表级锁-意向锁-测试(Av765670802,P127)
128.71. 进阶-锁-行级锁-介绍(Av765670802,P128)
129.72. 进阶-锁-行级锁-行锁(Av765670802,P129)
130.73. 进阶-锁-行级锁-间隙锁&临键锁1(Av765670802,P130)
131.74. 进阶-锁-行级锁-间隙锁&临键锁2(Av765670802,P131)
132.75. 进阶-锁-小结(Av765670802,P132)
133.76. 进阶-InnoDB引擎-逻辑存储结构(Av765670802,P133)
134.77. 进阶-InnoDB引擎-架构-内存结构1(Av765670802,P134)
135.78. 进阶-InnoDB引擎-架构-内存结构2(Av765670802,P135)
136.79. 进阶-InnoDB引擎-架构-磁盘结构(Av765670802,P136)
137.80. 进阶-InnoDB引擎-架构-后台线程(Av765670802,P137)
138.81. 进阶-InnoDB引擎-事务原理-概述(Av765670802,P138)
139.82. 进阶-InnoDB引擎-事务原理-redolog(Av765670802,P139)
140.83. 进阶-InnoDB引擎-事务原理-undolog(Av765670802,P140)
141.84. 进阶-InnoDB引擎-MVCC-基本概念(Av765670802,P141)
142.85. 进阶-InnoDB引擎-MVCC-隐藏字段(Av765670802,P142)
143.86. 进阶-InnoDB引擎-MVCC-undolog版本链(Av765670802,P143)
144.87. 进阶-InnoDB引擎-MVCC-readview介绍(Av765670802,P144)
145.88. 进阶-InnoDB引擎-MVCC-原理分析(RC级别)(Av765670802,P145)
146.89. 进阶-InnoDB引擎-MVCC-原理分析(RR级别)(Av765670802,P146)
147.90. 进阶-InnoDB引擎-小结(Av765670802,P147)
148.91. 进阶-MySQL管理-系统数据库介绍(Av765670802,P148)
149.92. 进阶-MySQL管理-常用工具1(Av765670802,P149)
150.93. 进阶-MySQL管理-常用工具2(Av765670802,P150)
151.94. 进阶-MySQL管理-小结(Av765670802,P151)
152.95. 进阶篇总结(Av765670802,P152)
153.01. 运维-课程介绍(Av765670802,P153)
154.02. 运维-日志-错误日志(Av765670802,P154)
155.03. 运维-日志-二进制日志(Av765670802,P155)
156.04. 运维-日志-查询日志(Av765670802,P156)
157.05. 运维-日志-慢查询日志(Av765670802,P157)
158.06. 运维-主从复制-概述(Av765670802,P158)
159.07. 运维-主从复制-原理(Av765670802,P159)
160.08. 运维-主从复制-主库配置(Av765670802,P160)
161.09. 运维-主从复制-从库配置(Av765670802,P161)
162.10. 运维-主从复制-测试(Av765670802,P162)
163.11. 运维-分库分表-介绍(Av765670802,P163)
164.12. 运维-分库分表-介绍-拆分方式(Av765670802,P164)
165.13. 运维-分库分表-MyCat概述-安装(Av765670802,P165)
166.14. 运维-分库分表-MyCat概述-核心概念(Av765670802,P166)
167.15. 运维-分库分表-MyCat入门(Av765670802,P167)
168.16. 运维-分库分表-MyCat入门-测试(Av765670802,P168)
169.17. 运维-分库分表-MyCat配置1(Av765670802,P169)
170.18. 运维-分库分表-MyCat配置2(Av765670802,P170)
171.19. 运维-分库分表-Mycat分片-垂直分库(Av765670802,P171)
172.20. 运维-分库分表-Mycat分片-垂直分库-测试(Av765670802,P172)
173.21. 运维-分库分表-Mycat分片-水平分表(Av765670802,P173)
174.22. 运维-分库分表-分片规则-范围分片(Av765670802,P174)
175.23. 运维-分库分表-分片规则-取模分片(Av765670802,P175)
176.24. 运维-分库分表-分片规则-一致性hash算法(Av765670802,P176)
177.25. 运维-分库分表-分片规则-枚举分片(Av765670802,P177)
178.26. 运维-分库分表-分片规则-应用指定算法(Av765670802,P178)
179.27. 运维-分库分表-分片规则-固定hash算法(Av765670802,P179)
180.28. 运维-分库分表-分片规则-字符串hash解析(Av765670802,P180)
181.29. 运维-分库分表-分片规则-按天分片(Av765670802,P181)
182.30. 运维-分库分表-分片规则-按自然月分片(Av765670802,P182)
183.31. 运维-分库分表-Mycat管理与监控-原理(Av765670802,P183)
184.32. 运维-分库分表-Mycat管理工具(Av765670802,P184)
185.33. 运维-分库分表-MyCat监控1(Av765670802,P185)
186.34. 运维-分库分表-MyCat监控2(Av765670802,P186)
187.35. 运维-分库分表-总结(Av765670802,P187)
188.36. 运维-读写分离-介绍(Av765670802,P188)
189.37. 运维-读写分离-一主一从准备(Av765670802,P189)
190.38. 运维-读写分离-一主一从读写分离(Av765670802,P190)
191.39. 运维-读写分离-双主双从介绍(Av765670802,P191)
192.40. 运维-读写分离-双主双从搭建(Av765670802,P192)
193.41. 运维-读写分离-双主双从读写分离(Av765670802,P193)
194.42. 运维-读写分离-总结(Av765670802,P194)
195.43. 运维篇总结(Av765670802,P195)