在Mysql中执行“select column”时检索数据

时间:2017-03-06 03:02:22

标签: mysql

例如,mysql中有一个表: 表t:(A,B,C,D)

表t中的行是: row1:a1,b1,c1,d1; 第2行:a2,b2,c2,d2; .....

我的问题是在执行“从T中选择A,B”时, stroage引擎是否需要将所有行的数据(包括列c1,d1)从磁盘加载到内存中以生成“选择A,B”结果?假设所有列都是固定长度而不是var char。

由于

1 个答案:

答案 0 :(得分:0)

如果您没有SELECT这些字段且它们未包含在WHEREJOIN中,则它们将不会加载到内存中以进行查询处理。因此,如果您的行中有一个巨大的blob字段而您没有选择它或对其进行过滤,那么它将不是一个因素。

如果您想知道MySQL查询的内部情况,请查看EXPLAIN功能。