gpt4 book ai didi

mysql - 选择 * 与选择特定列

转载 作者:太空宇宙 更新时间:2023-11-03 10:44:47 24 4
gpt4 key购买 nike

如果为给定表选择的列数不同,是否存在性能差异,比如我使用 select * 而不是基于索引键或主键选择 col1,col2?

最佳答案

正如 McAdam331 提到的,选择较少的列可能会导致更快的数据检索。还需要注意的是,如果您的查询可以直接从索引中获取它需要的所有数据,则甚至不会触及该表,并且可以更快地检索数据。

例如:

create table test1 (id int, firstname varchar(50), lastname varchar(50), age int);
create index idx_text1_lastname_age on test1 (lastname, age);

select lastname, age
from test1
where lastname = 'Smith' and age between 20 and 30;

在上面的查询中,姓氏和年龄都在索引中可用。因此,MySQL 很可能根本不接触表来获取此信息。

select * from test1
where lastname = 'Smith' and age between 20 and 30;

上面的查询将查找索引以查找与 where 条件匹配的 ID,然后查找表以另外获取 firstname 和 id。所以这个查询会比上一个查询花费更多的时间。

关于mysql - 选择 * 与选择特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33360021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com