我读过某个从不使用*返回表中所有列的地方 - 它很懒惰。在这种情况下,如果我需要所有5列并且之后表格不会有任何更改,那么是否有任何性能差异:
SELECT *
from table
VS。
SELECT id,col1,col2,col3,col4
from table
答案 0 :(得分:3)
我认为没有明显的性能差异,但在生产代码中我会坚持使用明确的列列表:
JOIN
,那么如果您保留SELECT *
答案 1 :(得分:0)
应该没有任何区别。这只是不好的做法 - 如果您稍后修改table
,如果他们使用*
,可能会破坏一些更复杂的查询(例如跨多个表的查询)。