昨天了解一下 mysql 的幻读,然后寻找解决幻读的答案,又会出现关键词mvcc
和间隙锁
,顺着两个关键词寻找我又发现新的Next-key Locks
关键词,接着再通过Next-key Locks
关键词,又弹出Innodb 锁机制
与Myisam 锁机制
,随着关键词的不断深入,自已会发现不知道看什么内容了,也记不清太多的知识点描述.这样一天时间就浪费了,而问题始终没有解决,只是心里知道个大概样子.
请问你们如何避免这种情况呢
1
wangritian 2020-09-24 10:29:45 +08:00
先简单了解 BCD 的概念,回来看完 A 问题后,再去学习 BCD 的细节
|
2
gugugagadun 2020-09-24 10:31:45 +08:00
看书
|
3
kop1989 2020-09-24 10:35:09 +08:00 31
说明你的信息源是垃圾。
一个好的技术文章,是绝对不会瞎增加概念的。 打个比方,你想知道 1+1 等于几。好的技术文章会告诉你等于 2,1 个苹果,再加一个苹果,就是两个苹果。所以 1+1=2 。然后 1+1=2 应该在哪里用,不能再哪里用。 烂的文章会告诉你,1+1 在算错的情况下等于三,0.1+0.1 不一定等于 0.2,懂得都懂,不懂得我也不想说,说就是利益太大。1+1 还有个关键问题就是哥德巴赫猜想…… 反正兜兜转转就是不告诉你等于几,也不告诉你 1+1 的用法和坑。 |
4
zycpp 2020-09-24 10:39:15 +08:00 via Android 1
你这是深度优先学习,想避免的话,可以设置一个最大深度,超过这个深度,就不必要再挖掘了。
|
5
zxCoder 2020-09-24 10:40:57 +08:00
哈哈 很真实,学习的时候经常会这样
|
6
francis59 2020-09-24 11:01:10 +08:00
把 BCD 的问题先记下来,以后再研究
|
7
cs5117155 OP @wangritian 比如我项目明明就要解决 A 问题,可能我理解能力会比较慢,花很长时间去理解 BCD 的概念,这样等于我项目被拖延,好像不太值得呀
|
8
Tloudalo 2020-09-24 11:05:17 +08:00 8
这种情况下一般会导致浏览器开好几十个 tab,我一般是针对每个概念都点开 google 前几篇文章
- 排版差的,不要 - 过于抽象的,不要 - 一看就不专业的,不要 理解要求随离最初目标的距离逐渐递减。 对概念其实有个大概理解就好,达到真正的学习还是要应用。 但现实情况往往是,还有 n 个没看突然有事情 /不想学了,点一下 OneTab 然后让它们永久吃灰 |
9
xuxu5112 2020-09-24 11:08:07 +08:00 1
把问题 B 、C 、D 当成接口,知道概念即可,细节不要进去。始终关注 A 的流程。
|
10
cs5117155 OP @gugugagadun 我以前也想过看书从 0 开始的,但是后面发现有写书直接告诉你这样,但是在我的认知世界里,觉得为什么要这样运行,会排斥,然后导致过一个月你不用,基本就忘记了
|
11
cs5117155 OP @Tloudalo 你说对我了,有时候我搜索问题,真是会几十个 tab,后面根本就不知道看哪些了.
达到真正的学习还是要应用。这句很赞同 |
13
xiaojianghu 2020-09-24 11:18:12 +08:00
我也是这样,我觉得这不完全是坏事吧,如果你时间紧张的话,你可以点进去 BCD 先看文章上面的简介再看下最底下的总结,了解个大概再回来看 A 。
|
14
anzu 2020-09-24 11:31:01 +08:00
Yak Shaving
|
15
cs5117155 OP @kop1989 这个我也很有体会,记得以前写个 socket 时,网上写让我看 TCP/IP 的书,看完再来写.但是我偶尔看到一个篇文章直接有例子,ctrl+c ctrl+v,改改端口就可以简单使用了,少看很多概念
|
18
lewis89 2020-09-24 11:52:14 +08:00 1
你只是缺一本书而已,MySQL 技术内幕 可以看看,虽然很大程度上是翻译官方文档,但是质量还是有保证的
|
19
otakustay 2020-09-24 11:56:30 +08:00 2
这不就是问题不够紧急么,急到线上一分钟 200W 操作,3000W 用户排队等资源,客服和运营拿刀在你身后要你解决,我就不信你还能研究 BCD
不是说问题都应该这种紧急,而是我们自己内心到底是怎么认定这问题的,是“我就是一定要快速解决它”还是“能解决就解决了,解决不了拖一拖也没事” |
20
krixaar 2020-09-24 12:02:13 +08:00 2
就好比你要查牛二来解决一个简单的宏观低速问题,本来只是要看 F=ma,结果你手头的教程公式里出现了光速 c,然后你非得想搞明白这是什么鬼,于是去啃狭义相对论,然后感觉牛二怎么这么难,就偏离你的初衷了。
|
21
zjsxwc 2020-09-24 12:11:44 +08:00 1
限制搜索 Depth
|
22
littlewing 2020-09-24 13:02:22 +08:00
可以看广度优先遍历
|
23
jdhao 2020-09-24 13:38:29 +08:00
在你的知识不够广的时候,很容易遇到这种问题。可以先解决最相关的问题,其余引出的问题,如果有时间,再去深入理解。
|
24
laqow 2020-09-24 13:42:49 +08:00 via Android
就是相关领域的基础不扎实,但不可能每件事都等扎实了才做,所以掌握到能把相关关键词记住,需要的时候能 google 出来就可以了
|
25
anthow 2020-09-24 14:11:38 +08:00
可以把这个过程整个一个脑图,就成体系了
|
26
banishee 2020-09-24 14:37:51 +08:00
同好,我也一直有这个烦恼,还是因为技术太菜了
|
27
bjking2014 2020-09-24 14:42:53 +08:00
要学会抓大放小,了解 mvcc 和间隙锁已经足够解决幻读问题了。就此停住就行,你要解决的是幻读问题而不是 MVCC 的底层原理
|
28
HENQIGUAI 2020-09-24 14:48:51 +08:00 4
|
30
blindie 2020-09-24 15:03:39 +08:00 via Android
当黑盒就可以
|
33
xwhxbg 2020-09-24 15:34:40 +08:00
信息源垃圾+1,这种跟我遇到很多大学教授一样,出来就各种名词堆砌,其实问题很简单,底层细节完全不需要暴露
|
35
wangritian 2020-09-24 15:54:03 +08:00
@cs5117155 理解概念类似于阅读一个函数的参数和返回值,或者一个接口的文档。比如间隙锁是范围多行锁,就可以了
|
37
kop1989 2020-09-24 16:22:53 +08:00
@luohuanlh #36
我想了想,有两个方向: 一个是可以灵活运用带评分机制的社区,比如栈溢出,比如国内的仿品思否。充分利用社区的筛选机制,高赞最起码不会太差。如果问题覆盖范围相对大(不好检索),而且并不是具体问题的话,比如 lz 说的“mysql 幻读”,可以尝试拆解、改变描述问题。 一个是多点开几个“科普”这个问题的文章,快速浏览其行文,如果出现 A 就是 B,C,然后 D,且自己读不懂的这种句式,果断右上角 x 掉。 比如还是 lz 幻读的这个例子。对于我这个 DB 白痴而言,https://segmentfault.com/a/1190000016566788 这篇文章就是典型的垃圾(对我个人而言),不是说他写的不对或者技术不好,是我看不懂😂,我看了一页依然不明白到底什么是幻读…… 但这个文章就说明白了: https://database.51cto.com/art/201905/597093.htm ,而且这篇文章详细阐述了浏览这篇文章所需的技术基础。我就明白了这篇文章的技术深度以及知识依赖,是有限度的,也能预估我的学习时间。 总结:利用社区筛选+快速挑选适合自己知识储备的文章。 |
38
Hodor 2020-09-24 17:48:46 +08:00
C 和 D 问题,不必知道原理,能用就行。
|
39
URGERKING 2020-09-24 17:48:53 +08:00 via Android
就我个人经验而言,如果 BCD 问题不是太过于复杂(不如在两小时内能够理解明白)或者又跳到 EFG,
应该看完的比较好 总感觉讲了个废话 ww |
41
vindurriel 2020-09-24 20:43:41 +08:00 via iPhone
磨刀不误砍柴工 任何领域的知识都是有限的 我现在看到不认识的词会很开心
|
42
jeeyong 2020-09-25 00:47:11 +08:00
说明懂得不够多
|
43
godblessumilk 2020-09-25 01:10:02 +08:00 via Android
我最近在恶补上学时候学的 cs 专业课,因为越来越发觉这些才是内功,尤其是编译原理,操作系统,计算机组成原理,计算机网络,如果这些学得好,mysql 这种应用层的玩意儿几天就能上手。。。
|
44
Jooooooooo 2020-09-25 02:00:06 +08:00
说明知识面太窄了
我研究锁的时候才接触到 MESI 然后 CPU 那一套内存一致性的问题才真正了解 |
45
raaaaaar 2020-09-25 07:57:14 +08:00 via Android
这就是我的日常学习状态。。
|
46
krixaar 2020-09-25 08:40:45 +08:00
@URGERKING #40 “透”也分三六九等,啃到分子就能解决问题的话,硬啃到夸克确实够透了,但是不见得对于分子级别的问题有多大帮助。还是像#4 说的,啃到一个能解决问题的深度就可以停了。
|
47
kamal 2020-09-25 09:45:43 +08:00
@Tloudalo #8 老哥明白人,特别有感触,排版差的内容一定差。
内容农场爬多家网站,样式都不会重新整理,能塞进去就行,只让搜索引擎看到文字就行。 |
48
cs5117155 OP @Jooooooooo 都研究那么深入的吗,刚刚我又把你关键词`MESI`搜索了一下,不然再往下深入了
|
51
luohuanlh 2020-09-25 22:38:46 +08:00
@kop1989 我在想能否弄一个访微信阅读里面的机制。就是提问里面,关键词又成为了问题。很多人给出自己的评论和链接。通过这些链接再找到知识的出处,构建成知识体系。毕竟,知识还是要成系统才能被认知。
|
53
tkl 2020-09-26 12:18:32 +08:00
知识点从来都不是一座座孤岛,而且一张张错综复杂的蜘蛛网,还会有各种各样的跨学科问题,比如造 CPU 。
现在的计算机科学经过前人的不断完善,各种封装,可以很简单应用于各行各业,但是当你想要了解内部的原理,只能一层一层的打破沙锅问到底。 还有经常说的结果导向和过程导向,当你遇到问题可以 google 一下,面向 stackoverflow 编程,但是当你找原因,写回答的时候才能真正考验你的能力。 我希望自己逐渐成为后者。 怎么还扯到 XY 问题? |