gpt4 book ai didi

sql - 返回的列数是否会影响查询的速度?

转载 作者:行者123 更新时间:2023-12-04 04:44:16 26 4
gpt4 key购买 nike

如果我有两个查询

SELECT Id, Forename, Surname
FROM Person
WHERE PersonName Like(‘%frank%’)


SELECT *
FROM Person
WHERE PersonName Like(‘%frank%’)

哪个查询将运行得更快?是where子句/表联接的最大因素,还是返回的列数最大?

我之所以问是因为我正在构建一系列映射到数据库表的对象。通常,每个对象将至少具有以下三种方法:
Select –选择所有内容
List –选择足够的数量,可用于填充下拉列表
Search –选择结果中可见的所有内容,通常大约6列。

如果每个查询返回的列完全相同,则代码的维护和测试应该更加简单。该数据库在任何给定的表中都不可能超过50,000行,因此,如果性能差异很小,那么我将节省开发时间。如果性能要下降,那么我将从另一个角度进行研究。

因此,为了易于开发, SELECT *是明智的还是天真的?

最佳答案

你最好避免SELECT *

  • 更改表布局时会引起困惑。
  • 它选择不需要的列,并且您的数据包变大。
  • 列可以获取重复的名称,这对于某些应用程序
  • 也不利
  • 如果您需要的所有列都被索引覆盖,则SELECT columns将仅使用此索引,而SELECT *将需要访问表记录以获取不需要的值。也不利于性能。
  • 关于sql - 返回的列数是否会影响查询的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/852572/

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