我见过很多人声称你应该在选择查询中专门命名你想要的每一列.
假设我要使用所有列,为什么我不使用SELECT *?
即使考虑问题*SQL查询 - 从视图中选择*或从视图*选择col1,col2,... colN,我不认为这是完全重复的,因为我从一个略微不同的角度来看待问题.
我们的原则之一是不要在它之前进行优化.考虑到这一点,似乎使用SELECT *应该是首选方法,直到它被证明是一个资源问题或模式几乎是一成不变的.据我们所知,在开发完成之前不会发生这种情况.
那就是说,不使用是否有一个压倒一切的问题SELECT *?
我花了一些时间来优化我们当前的数据库.
我正在特别关注索引.
有几个问题:
我刚才读的优化文章的一部分,segfaulted以下声明:
当使用SQL代替using语句
OR有UNION:Run Code Online (Sandbox Code Playgroud)select username from users where company = ‘bbc’ or company = ‘itv’;至:
Run Code Online (Sandbox Code Playgroud)select username from users where company = ‘bbc’ union select username from users where company = ‘itv’;
从快速EXPLAIN:
使用OR:

使用UNION:

没有这意味着UNION确实在双工作?
虽然我感谢UNION某些RDBMS和某些表模式的性能可能更高,但这并非如作者建议那样明确.
我错了吗?