尽量避免使用select *语句。正确的方法,明确罗列出要查询的列。
select *
会返回所有的列。尤其是当表很大,而业务上只需要查询几列时,使用select *
会导致不必要的开销。- 明确罗列出需要的列,代码的可读性更高。无论是自己以后回头看这份代码,或者其他人看这份代码,更容易看明白其中要实现的逻辑。
- 表结构是会随着时间演进的。如果以后表结构发生了变化,明确罗列出列可以及时暴露问题(例如删除了查询的列),执行查询就会失败,而
select *
则不能及时暴露问题。 - 明确罗列出所需要的列,可以使查询更加明确,有助于优化器选择最佳的索引来执行查询。