感觉自连接条件要是在索引上的话 没什么额外消耗的 消耗是线性的
解决方案 »
- 如何查看Mysql中的AUTOCOMMIT值??
- php调用mysql 存储过程得不到输出参数的值
- 关于mysql的事务,当default-storage-engine=INNODB是不是无效?
- 关于执行.sql速率问题
- 邹建的.乘车线路查询mssql存储进程 转换 mysql 存储进程
- decimal(9)类型设置成自增是否可以?目前导入Mysql的时候报错!
- linux下mysql的like查询不正确的问题如何解决
- 关于order by和limit的问题
- mysql的alter
- 高分相送!谁能给我讲讲C/S数据库中:DB2,SYBASE,MSSQL,MYSQL,ORACAL,INFORMIX,他们的区别?
- 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;