【发布时间】:2019-04-24 18:43:04
【问题描述】:
【问题讨论】:
-
如果索引节点不在内存中,当然是在内存中。还能怎么用?
-
“如果从集群索引中检索数据,不会发生物理磁盘io吗?”还要添加到@Barmar的评论
SELECT <columns> FROM table WHERE <indexed_column> = '<value>'可以/仍然需要磁盘或内存 I/O 以获取不在索引文件中的列数据.. -
索引不会阻止磁盘 I/O,它们只是减少它。中间节点比叶节点小,因此它们可以在内存中放置更长的时间。
-
“索引不会阻止磁盘 I/O,它们只会减少它” 是的,不是的从表中获取完整的数据集.. 我宁愿看到 1 个随机磁盘请求(1 * 4 毫秒)与 1 个随机磁盘请求(使用索引时的每个记录)(n * 4 毫秒).. 但是这个问题在很大程度上移动了繁重的数据库理论和优化器..
-
是的,我在简化。他们在很多情况下都会减少它,但有时查询规划器会确定索引没有好处。