当前位置: 代码迷 >> Java Web开发 >> select * from mytab 与 select name,age from mytab 消耗一样的资源吗?解决方法
  详细解决方案

select * from mytab 与 select name,age from mytab 消耗一样的资源吗?解决方法

热度:687   发布时间:2016-04-17 12:27:34.0
select * from mytab 与 select name,age from mytab 消耗一样的资源吗?
比如我有一个表,里面有100个字段
下面两条语句有什么区别吗?消耗的资源哪个更少一些?

1.
select * from mytab
rs.getString('name');
rs.getString('age');


2.
select name,age from mytab
rs.getString('name');
rs.getString('age');
而我只需要其中2个字段的值就行


------解决方案--------------------
第二种效率高一些!
------解决方案--------------------
select语句是先做选择再做投影!!
------解决方案--------------------
明显第二种好些
------解决方案--------------------
1 select * ,那个*代表什么?SQL得去查找meta表格,把*转化为字段,然后再调用,这里浪费了时间
2 * 结果集是所有字段,准备他们需要时间和空间

所以,第二种是明智的做法
  相关解决方案