http://blog.csdn.net/u013252072/article/details/52912385 http://www.cnblogs.com/lpfuture/p/5772055.html
上面两篇文章里,我看到两个类似的 sql 语句
select * from b , (select tid from a limit 50000,200) a where b.id = a .tid; SELECT * FROM product a JOIN (select id from product limit 866613, 20) b ON a.ID = b.id
我不懂,为何在,或者 join 后,表名 a 或者 b 前,有一个括号子查询是啥意思 这是什么语法?
1
des 2017-04-17 07:13:48 +08:00 via Android
这是子查询,另外不存在表 a 。拜托你们好好看看语法吧。
|
2
Jakesoft 2017-04-17 08:27:30 +08:00 via iPhone
虚拟表
|
3
hiro0729 2017-04-17 08:55:04 +08:00
文章中说了,利用表的覆盖索引来加速分页查询,
也就是说 先在子查询里仅对主键进行分页操作,因为主键有索引,速度会快很多 |
4
esolve OP @des 你意思(select tid from a limit 50000,200) a 的意思是 a 是这个子查询的结果?
不是应该是(select tid from a limit 50000,200) as a? |
6
artandlol 2017-04-17 09:00:20 +08:00 via Android
limit 这么用 很慢很慢
|