gpt4 book ai didi

sql - SQL 中 SELECT * 的任何缺点?

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

假设我有一个执行 SQL 的程序,我想查询一个表以获取 A、B 和 C 列中的值(假设有一些我并不严格需要的列)。 SELECT * 和 SELECT A, B, C 有什么区别?

到目前为止我的想法如下。仅选择您需要的列:

  • ...将需要更少的内存来存储结果。
  • ...可能会使解析程序中的结果更容易一些。
  • ...不会更快,除非可以使用覆盖索引检索所有选定的列。

  • 我觉得可能还有其他问题在起作用。

    最佳答案

    你说的是对的,但还有更多。

    “select *”的另一个非常重要的问题是如果表模式更改会发生什么。
    如果客户端使用“select *”,它会得到一组可能出乎意料的列(更多的列、更少的列、不同的顺序......)。这真是太糟了。

    如果客户端选择了它想要的确切列名(A、B、C),那么它将获得具有预期格式(如果可能)或特定的明显错误的结果集。

    此外,内存消耗问题和可能用于选择 unneded 列的网络流量问题对于“大型”应用程序可能至关重要。

    关于sql - SQL 中 SELECT * 的任何缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11753181/

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