首页 > 解决方案 > 通过 * 选择所有列和在 SQL 查询中指定所有列名来检索数据有什么区别?

问题描述

假设我有一个带有列的表id, name, contact

通过获取数据有什么区别

SQL 查询 #1:

SELECT * 
FROM table

和 SQL 查询 #2:

SELECT id, name, contact 
FROM table

标签: sqldatabaserelational-databasequery-performance

解决方案


SELECT * FROM table - 它会选择所有列,即使这些列是否有用。如果您选择所有列而不是一些内存开销和耗时。例如,假设您选择了所有列并存储在某个 java 对象中,那么这没有用,而不是选择那些对您的操作有用的列。


推荐阅读