放100分针求意见:下列SQL语句的性能比较。
1. SELECT A.* from A INNER JOIN B ON A.id=B.id WHERE B.sampleDate between x1 and x2
2. SELECT A.* from A INNER JOIN (SELECT * FROM B WHERE B.sampleDate between x1 and x2) ON A.id=B.id
3. SELECT A.* from A ,B WHERE A.id=B.id and B.sampleDate between x1 and x2
其中B是视图。
4. SELECT A.*,(select name from Agent where agentId=A.agentId) FROM A
与 SELECT A.*,c.name FROM A,Agent c WHERE c.agentId=A.agentId 是一样吗?
5. 另外,在一条复杂语句中多处用到下列子查询:
select u.* from (select userNo,agentId,activityId from UserInfo where createDate between x1 and x2
是不是在查询的时候会执行N次?而如果将这个子查询的结果插入到一个临时表后引用这个表,性能是否有明显改善?
6. 有人说查询视图等同于执行视图的SQL语句,当一个复杂SQL多次关联视图时,是否也多次执行视图的查询SQL呢?