代码之家  ›  专栏  ›  技术社区  ›  Brett Bim

使用*与字段名列表[duplicate]选择语句性能

  •  1
  • Brett Bim  · 技术社区  · 16 年前

    可能重复:
    Which is faster/best? SELECT * or SELECT column1, colum2, column3, etc.

    SELECT Author, PublishDate, Pages, Price FROM Book;
    

    应用程序中的所有select语句都是这样的,这让我怀疑这样做是否会提高性能:

    SELECT * FROM Book;
    

    我翻阅了一本MySql的书,但没有看到任何与此相关的内容。考虑到每次添加字段时更改SELECT语句所带来的维护开销,我想知道如何将内容更改为较短的语法。这会带来性能问题吗?这可能与安全有关吗?

    2 回复  |  直到 9 年前
        1
  •  1
  •   JohnFx    16 年前

    考虑到大多数情况下都必须更新使用该查询的代码,Select*并不能真正为您节省那么多维护费用。

    如果您编写的代码只是盲目地对某个特定表中的任何字段进行操作,那就是自找麻烦。例如,向表中添加某种维护列(如时间戳)的DBA不会认为它会突然出现在您的应用程序中。最好的方式来证明未来的应用程序是明确的。

    在我不久前写的这篇短文中,我对使用select*的性能影响做了更深入的探讨: "Don't Use Select *"

        2
  •  0
  •   antpaw    16 年前