MYSQL:为什么SELECT [显式列名]比SELECT *更快

时间:2011-08-13 17:54:15

标签: mysql select

我亲身体验了这一点,但经过多次Google搜索,我很难找到有关该主题的所有资源:

SELECT * FROM Table LIMIT x

的返回时间比明确列出所有特定表的列名称要慢:

SELECT id, name, email, address, phone, sex, date, ip FROM Table LIMIT x

这是什么原因?

(假设您明确选择 all 列名称,即表格仅包含列ID,姓名,电子邮件,地址,电话,性别,日期,IP)

2 个答案:

答案 0 :(得分:1)

执行select *时,rdbms必须将*扩展为列名,然后执行select after words。当您提供明确的列名称时,步骤不是必需的。

答案 1 :(得分:1)

当你实际上只列出表中的一些列时,'使用带有明确列出的列的SELECT比SELECT *'更有意义。例如,如果您只需要包含多个长VARCHAR或TEXT字段的表中的ID,则只抓取一列将节省大量时间和带宽。

相关问题