这里使用的是postgresql
联表查询 select * 0.008秒 快的不寻常
一样的条件 select 主键 略逊一筹
如果加上其他字段差的更多了,差距大概在五倍左右
看一下explain执行计划
select * 的 explain
正常的左连接 和 全表扫描
select 主键
这里使用的是 merge lfet join
通过上面看出 大概率是merge join 没干过 hash join
但是如果查询的不止主键,还有其他字段,就又慢了下来
看看主键及其他字段的查询计划
使用的也是hash left join 但是速度也是慢了一下
查询的字段又主键,走主键索引,回表查询,导致,查询一下非主键字段试试
速度又快起来了
但是我这里的主键是唯一主键索引,应该不会导致回表查询 为什么会造成这样的问题?
难道这样子不是主键,只是普通的索引?
感觉就是回表查询在搞鬼
标签:join,查询,回表,字段,主键,select From: https://www.cnblogs.com/bawanglong168/p/16987715.html