通过*选择所有列并在SQL查询中指定所有列名称以检索数据有什么区别?

时间:2018-12-18 05:50:52

标签: sql database relational-database query-performance

假设我有一个包含列folderid的表。

通过获取数据有什么区别

SQL查询#1:

data.payload
(2) [{…}, {…}]
 0: { folderid: 903, folderName: "f11", upperfolderid: 899} 
 1: { folderid: 904, folderName: "f22", upperfolderid: 899}

folderObjs
(4) [{…}, {…}, {…}, {…}]
 0: { folderid: 899, folderName: "f1", upperfolderid: 122}
 1: { folderid: 900, folderName: "f2", upperfolderid: 122}
 2: { folderid: 901, folderName: "f3", upperfolderid: 122}
 3: { folderid: 902, folderName: "f4", upperfolderid: 122}

 // TS

 folderObjs : Folder[] = [];
 patternObj : Pattern[] = [];

 this.patterObj = this.folderObjs.concat(data.payload);
 console.log(this.patternObj);

 // This type result I want
 0: {folderid: 899, folderName: "f1,upperfolderid: 122,
  {0: {folderid: 903, folderName: "f11", upperfolderid: 899} 
   1: {folderid: 904, folderName: "f22", upperfolderid: 899}
  }
 }
 1: {folderid: 900, folderName: "f2",upperfolderid: 122}
 2: {folderid: 901, folderName: "f3",upperfolderid: 122}
 3: {folderid: 902, folderName: "f4",upperfolderid: 122}

和SQL查询2:

id, name, contact

1 个答案:

答案 0 :(得分:0)

SELECT * FROM表-即使这些列有用还是无效,它也会选择所有列。 如果选择所有列,则比某些内存开销和时间要多。 例如,假设您选择了所有列并存储在某个Java对象中,那么这不是有用的,而不是选择那些对您的操作有用的列。