SQL code:
select a.transactionid, a.creator, a.creattime, a.updatetime,
a.status, a.handletimes, a.operatetype, a.objecttype,
a.objectid, a.objectname, a.objecturl, a.nettype,
a.netid, a.returntime, a.returncode, a.returndesc, a.netstatus,b.netname
from t_cms_transaction a,
( select distinct netid, nettype, contenttype, netname from t_cms_netconf ) b
where a.netid = b.netid
and a.nettype = b.nettype
and a.objecttype = b.contenttype || v_sql
order by 1
v_sql: 包含多个查询字段的动态sql。故不好在相关字段建索引!
a表数据量:1000W
b表数据量: 500
以上sql执行一遍要30分钟,请大家帮忙优化下!谢谢!在线等!
使用use_hash(a b)hint提示效果也不明显!
不排序会快很多滴说。哈,纯属帮顶 = =!
b为什么要单独做成一个虚表?
|| v_sql 是不是跟的都是一些条件??
如果是一些条件的话可以先考虑
with tem as (
select a.transactionid, a.creator, a.creattime, a.updatetime,
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......