我见过很多人声称您应该在选择查询中专门为想要的每一列命名。
假设我仍然要使用所有列,为什么我不使用SELECT *?
SELECT *
即使考虑问题* SQL查询- 从视图选择或从视图*选择col1,col2,’colN,我也不认为这是完全相同的副本,因为我正从略有不同的观点着手解决这个问题。
我们的原则之一是在优化之前就不进行优化。考虑到这一点,在被证明是资源问题或架构几乎是固定的之前,似乎SELECT *应该使用 首选的 方法。众所周知,只有完成开发后,这种情况才会发生。
就是说,有一个最重要的问题不使用SELECT *吗?
不进行过早优化的报价的本质是编写简单明了的代码, 然后 使用探查器指出热点,然后可以对其进行优化以提高效率。
当使用select *时,将无法进行概要分析,因此,您没有在编写清晰明了的代码,这与引用的精神背道而驰。select *是反模式。
select *
因此,选择列并不是过早的优化。我头上掉了几件事....
结果是使用select *…
编写正确的SQL与编写脚本一样容易Select *。因此,真正的懒惰者会编写适当的SQL,因为他们不想重新访问代码,而是想记住自己在执行操作时在做什么。他们不想向DBA解释每一段代码。他们不想向客户解释为什么应用程序像狗一样运行。
Select *