这个问题刚出现在我脑海中,我无法回答它。
假设您正在为网站开发新闻页面。在您的表格中,您将拥有以下字段:
ID,标题,主题,内容,时间,作者,关键字
在用户将看到的实际页面上,您可能只想显示以下内容:
标题,内容,关键字
现在,当你去编写SQL语句时,最好把它写成:
SELECT Title, Content, Keywords FROM newstable;
或者这样:
SELECT * FROM newstable;
我一直认为使用前一个例子会更有效,更快捷地使用。但是,我现在认为使用select all语句可能更快更容易。
是正确的方式,还是它们的编写方式真的很重要?
答案 0 :(得分:13)
是的,这对性能和其他原因很重要。
答案 1 :(得分:4)
我建议最佳做法是明确写出列。
首先,这将最大限度地减少返回的数据量。
接下来,如果有人向数据库添加了一列,它会删除可能的回归错误。
此外,它不会花费太多时间。
最后,你几乎肯定会有一个order by子句,这只能通过索引中的数据来满足。
答案 2 :(得分:3)
除了性能原因(返回的结果集较小以及仅索引检索的可能性)之外,将指定顺序的已知数量的命名列返回到应用程序代码会使代码更加健壮 - 您不可能意外地编码对表的当前定义的任何依赖。
答案 3 :(得分:1)
是的,这对性能很重要。此外,可读性更好,然后您确切地知道您要求的数据。
您应该指定所需的数据列,如果您不需要它们,那么为什么要拉它们。您只需返回不必要的数据