日期:2014-05-16  浏览次数:20948 次

sql语句求解?
一条sql语句:
select t.* from table1                               在plsql里执行很快
select t.id,t.pid,t.name,t.parent_name from table1   在plsql里执行很快
select t.id from table1                              在plsql里执行要1秒多

请大侠们帮看看有没有遇到类似问题,为什么选择字段后会更慢?

------解决方案--------------------
引用:
一条sql语句:
select t.* from table1                               在plsql里执行很快
select t.id,t.pid,t.name,t.parent_name from table1   在plsql里执行很快
select t.id from table1                              在plsql里执行要1秒多

请大侠们帮看看有没有遇到类似问题,为什么选择字段后会更慢?


每次都是这样还是偶尔一次啊?
照理说不应该,选字段反而比*还慢的....
------解决方案--------------------
*按理要解析成相应字段查询,应该更慢!
------解决方案--------------------
肿么会这样
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

一条sql语句:
select t.* from table1                               在plsql里执行很快
select t.id,t.pid,t.name,t.parent_name from table1   在plsql里执行很快
select t.id from table1                              在plsql里执行要1秒多

请大侠们帮看看有没有遇到类似问题,为什么选择字段后会更慢?


每次都是这样还是偶尔一次啊?
照理说不应该,选字段反而比*还慢的....

每次都这样,字段类型:
id char(20)
pid varchar2(20)
select id from table 和 select pid from table慢
select name from table 快

不管是什么原因,
至少楼主在id里面用char类型,不知道char类型到底好在什么地方,目前我知道的,char没什么好的地方。
------解决方案--------------------
所有字段都没有添加索引吗?
个人觉得这个是由于上面2条语句都是走的全表扫描,第三条如果是走索引的话,数据达到一定的量之后反而会没有全表扫描来的快。<