,奇怪的有关问题:写了一个sql,用了多个join链接,其中,在select字段中如果出现a.用时是172ms,但是如果在把a.去掉,执行时间是17s为什么

【急】求助,奇怪的问题:写了一个sql,用了多个join链接,其中,在select字段中如果出现a.*,用时是172ms,但是如果在把a.*去掉,执行时间是17s为什么?
写了一个sql(sql如下),用了多个join链接,其中,在select字段中如果出现a.*,用时是172ms,但是如果在把a.*去掉,执行时间是17s为什么?现在我希望把a.*去掉,应该怎么做?
select distinct b.sheetid,u.deptid,c.participant ,c.participanttype,c.partiintype ,c.workitemid,a.* from wfworkitem a 
inner join softversion_task b on (a.currentState=4 or a.currentState=10) and a.activityinstid = b.activityinstid
inner join wfwiparticipant c on a.workitemid = c.workitemid
inner join taw_system_userrefrole refr on c.participanttype='role' and refr.subroleid = c.participant
inner join taw_system_user u on u.userid = refr.userid

------解决方案--------------------
多取一个表的数据,当然就慢了。

去掉A.*得到的数据,还能满足你的需要吗?

select distinct b.sheetid,u.deptid,c.participant ,c.participanttype,c.partiintype ,c.workitemid from wfworkitem a 
inner join softversion_task b on (a.currentState=4 or a.currentState=10) and a.activityinstid = b.activityinstid 
inner join wfwiparticipant c on a.workitemid = c.workitemid 
inner join taw_system_userrefrole refr on c.participanttype='role' and refr.subroleid = c.participant 
inner join taw_system_user u on u.userid = refr.userid 

------解决方案--------------------


应该是informix数据库分析优化器上的问题。当你的输出结果不今A的时候,A表中的索引它也没用上。估计应该是个BUG。.
==== 思想重于技巧 ====