我在一条sql语句里有in,也有like,执行速度比较慢,很头痛,对于这种又有in,又有like的,怎么办,大家都知道,有了like,索引失效,但我的语句里,又没有办法不用到in和like ,怎么办?
还有一个问题
SELECT zc_id,pc_id,pl_id
FROM zcxx inner join pcxx on pc_id=zc_pcid inner join plandd on pl_id=zc_plid,像这样的,这个排序是按哪个排序的,zc_id,pc_id,pl_id,我发现这条语句的排序,并非这三个,真是奇怪死了,这zc_id,pc_id,pl_id三个,都是zcxx,pcxx,plandd的索引ID及主键
还有一个问题
SELECT zc_id,pc_id,pl_id
FROM zcxx inner join pcxx on pc_id=zc_pcid inner join plandd on pl_id=zc_plid,像这样的,这个排序是按哪个排序的,zc_id,pc_id,pl_id,我发现这条语句的排序,并非这三个,真是奇怪死了,这zc_id,pc_id,pl_id三个,都是zcxx,pcxx,plandd的索引ID及主键
FROM zcxx inner join pcxx on pc_id=zc_pcid inner join plandd on pl_id=zc_plid这是连接条件,不是排序吧
确实是连接,不是排序,但是为什么连接后的顺序不是按这三个的其中一个呢?我想,如果select zc_id from zcxx 这样的话,至少是按zc_id的这个顺序的吧,出来应该是12345,而不是13245吧
其实,in和exists的效率,都讲不清谁与谁高
select *from pcxx where pc_id in (select zc_pcid zcxx where sql)select *from pcxx where exists (select 1 from zcxx where zc_pcid=pc_id)
以上两个效率怎么比较?其中,pc_id是主键,而zc_pcid=pc_id