我亲身体验了这一点,但经过多次Google搜索,我很难找到有关该主题的所有资源:
SELECT * FROM Table LIMIT x
的返回时间比明确列出所有特定表的列名称要慢:
SELECT id, name, email, address, phone, sex, date, ip FROM Table LIMIT x
这是什么原因?
(假设您明确选择 all 列名称,即表格仅包含列ID,姓名,电子邮件,地址,电话,性别,日期,IP)
答案 0 :(得分:1)
执行select *
时,rdbms必须将*
扩展为列名,然后执行select after words。当您提供明确的列名称时,步骤不是必需的。
答案 1 :(得分:1)
当你实际上只列出表中的一些列时,'使用带有明确列出的列的SELECT比SELECT *'更有意义。例如,如果您只需要包含多个长VARCHAR或TEXT字段的表中的ID,则只抓取一列将节省大量时间和带宽。