gpt4 book ai didi

mysql - 与执行 "SELECT *"相比,从 SQL 语句中选择特定值是否提高了效率

转载 作者:可可西里 更新时间:2023-11-01 06:54:06 25 4
gpt4 key购买 nike

这个问题刚刚出现在我的脑海中,我无法回答。

假设您正在为网站开发新闻页面。在您的表格中,您将拥有以下字段:

ID, Title, Subject, Content, Time, Author, Keywords

在用户将看到的实际页面上,您可能只想显示以下内容:

Title, Content, Keywords

现在,当你去写SQL语句的时候,是不是这样写比较好:

SELECT Title, Content, Keywords FROM newstable;

或者像这样:

SELECT * FROM newstable;

我一直认为使用前一个示例会更有效率,使用起来也更快捷。但是,我现在认为使用 select all 语句可能会更快更容易。

无论哪种方式都是正确的,还是它们的书写方式真的很重要?

最佳答案

是的,出于性能和其他原因,它很重要。

  • 当您只选择所需的列时,必须返回的数据较少。这意味着将其从硬盘驱动器中取出并通过网络发送的时间更短。
  • 使用 covering index 可能会完全满足您选择的列, 可以让查询快很多倍
  • 通过指定列名,您可以记录您在代码中使用的数据。当您回来进行维护时,这非常有帮助。
  • 不使用 *,您就不会在重命名、添加或删除列时破坏代码。如果您明确指定列名,则会出现查询执行时错误,而不是将新结果盲目地传递给您的代码,谁知道会发生什么。

关于mysql - 与执行 "SELECT *"相比,从 SQL 语句中选择特定值是否提高了效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7402991/

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