# 1.1 从表中检索所有行和列

问题：

查看表中的所有数据

解决方案1：

```
select * from emp
```

解决方案2：

```
select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp
```

建议使用解决方案2，因为别人看你的代码的时候不一定知道你查询的表里面的列，所以还是写出查询的具体的列更方便阅读。其次从优化的角度来说，尽量避免“select \*”的存在，使用具体的列代替“\*”，避免返回多余的列。

【技巧】

1.查看SQL语句执行时间：

```
set statistics time on  

select * from EMP --注释：这里写你要测试执行时间的SQL语句

set statistics time off  
```

运行结束之后，从消息栏，可以查看

> SQL Server 执行时间: CPU 时间 = 0 毫秒，占用时间 = 0 毫秒。

2.查看SQL语句查询时对I/O的操作情况

```
set statistics io on

select * from EMP --注释：这里写你要测试的SQL语句

set statistics io off 
```

运行结束之后，从消息栏，可以查看：

> 表 'emp'。扫描计数 1，逻辑读取 2 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。
