Philyu's recent timeline updates
Philyu

Philyu

V2EX member #485959, joined on 2020-04-24 14:21:18 +08:00
Philyu's recent replies
ZmVpcWlfeXU=
May 19, 2020
Replied to a topic by qmzhixu MySQL 关于覆盖索引的问题
聚簇索引的一个典型例子就是主键,它直接存储数据字段,比如 id ;如果你要查 select id from xxxx where id>n
这个当然不用回表;
如果 id 是主键,另外建立了 age 的普通索引,那么 select age from xxx where id>n,是可以索引覆盖,不需要回表。
May 15, 2020
Replied to a topic by qmzhixu MySQL 关于覆盖索引的问题
age 不在索引里面,mysql 先找到索引 id=1,然后回表去找 age,当然没有索引覆盖。
May 15, 2020
Replied to a topic by noble4cc MySQL mysql 索引工作的原理
我明白 lz 的意思,其实没有你想象的那么多 IO,首先索引是有序的,可以连续读取;就算 key 很分散,IO 次数也还跟 key 的数量在一个量级;查询到的记录再多,还是成片的,可以连续读取。
May 15, 2020
Replied to a topic by noble4cc MySQL mysql 索引工作的原理
正常是这样,而且 mysql 会将部分用到的索引加载到内存,4 次或 1 次都很快;如果 in 里面是连续的值,大概率会被优化器优化。
May 15, 2020
Replied to a topic by noble4cc MySQL mysql 索引工作的原理
mysql 的索引基础结构是 B+树,如 id in ( 1,2,3,4 ),那么会将 id 列的索引加载到内容,分布找到对应 id=1,2,3,4 的四行数据的偏移量,最少只需要一次 IO 。具体几次,涉及到你这表每一行的数据大小,因为磁盘读取,一次 IO 是 64K,有可能这 4 条数据都在了。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1030 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 19:10 · PVG 03:10 · LAX 12:10 · JFK 15:10
♥ Do have faith in what you're doing.