内容: 索引块是一个连续的访问MyISAM索引文件的单位。通常一个索引块的大小等于索引B-树节点的大小。(在硬盘上使用B-树数据结构表示索引。树底部的节点为叶子节点。叶子节点上面的节点为非叶子节点)。问: 是否一个索引块能且只能是一个树节点, 而树节点的大小与关键字的大小相关? 一个缓冲区块(注意不是缓冲区)是否可以存放多个索引快?
内容: 正被更新的缓存区让需要使用它的线程等待直到更新完成。多个线程可以发起请求替换缓存块,只要它们不彼此干扰(也就是说,只要它们需要不同的索引块,并且使不同的缓存块被替换)。对键高速缓冲的共享访问允许服务器大大提高吞吐量。问: 正在更新的缓冲区会让其他线程等待, 为什么互不干扰的替换就不会, 替换难道不是更新的一种吗?
问: 索引块与文件块中对于这个"块", 因为我钻研的不太深, 所以不能完全理解块的概念以及它所带来的好处; 我目前的理解是在底层存储上由一组扇区组成簇, 簇是OS所能操作的最小单位, 假设一个簇有两个扇区组成, 我们要操作扇区1中的数据, 那么OS必须将整个簇的内容读取到内存中, 然后修改扇区1中的数据, 然后在将内存中整个簇的内容写回磁盘, 而mysql中的块我觉得是一种逻辑上的簇, 是mysql所能操作的最小单位不知道我这样理解块是否正确, 如果正确, 则我不太明白"块"所带来的性能与管理优势, 这个问题可能我有点白痴, 希望能得到大家的帮助谢谢大家