感觉自连接条件要是在索引上的话 没什么额外消耗的 消耗是线性的
解决方案 »
- 怎样解决提交到mysql中的数据,输出后是按照输入的格式输出
- 在MYSQL中检索某个时间后的所有记录用什么命令
- 向ACMAIN_CHM大哥求救!!请求ACMAIN_CHM大哥来看一看小弟的问题
- 请教关于一个mysql转义字符的问题
- 求一个sql语句
- mysql错误:Can't create a new thread (errno 12).
- 很棘手的问题!搞不清楚这个问题究竟属于哪个板块,呵呵
- 系统服务程序不能连接mysql
- redhat9.0自带的mysql是不是不用配置就可以使用?
- 脑壳都想爆了,也想不出解法!帮帮我吧。要不我真想跳楼了......
- hql 连接查询 右连接
- mysql报错1033,增加了一些信息后,就开始报错。前台能显示部分数据,表格也是部分报错。
您不支持一楼的观点吗如果和链接5个不同的表性能上差异不大的话 那就太可怕了恩,我抽时间验证一下您的观点 希望不是这样
您认为消耗是线性的 您否详细描述一下
这个查询我封装到存储过程里了-- 首先涉及三张表
-- 表1 Paper(paperID,content)-- 表2 Tag(tagID,tagName)-- 表3 TestTag(paperID,tagID) 表1和表2 之间为多对多关系此为关系表
-- 下面是存储过程中的部分内容:select concat('select SQL_CALC_FOUND_ROWS a.* from TestTag b
join TestTag c on b.paperID=c.paperID and b.tagID<>c.tagID
join TestTag d on b.paperID=d.paperID and b.tagID<>c.tagID and b.tagID<>d.tagID
join TestTag e on b.paperID=e.paperID and b.tagID<>c.tagID and b.tagID<>d.tagID and b.tagID<>e.tagID
join TestTag f on b.paperID=f.paperID and b.tagID<>c.tagID and b.tagID<>d.tagID and b.tagID<>e.tagID and b.tagID<>f.tagID
join paper a on a.paperID=b.paperID where b.tagID=? and c.tagID=? and d.tagID=? and e.tagID=? and f.tagID=? ',conditions,' ',orderBy,' ',orderType,' limit ?,?') into @sqlstr;
PREPARE stmt1 FROM @sqlstr;
EXECUTE stmt1 USING @t1,@t2,@t3,@t4,@t5,@a,@b;