MySQL、记录的坑

SELECT * FROM asdfasdf cp WHERE cp.id NOT IN (SELECT p_id FROM csp ORDER BY id DESC LIMIT 0,10) 

sql类似上面的内容,需要多表联查,把A表中的结果作为B表的查询条件,结果发现sql执行有误,然后查了一下,网上有道友介绍说跟我遇到了一样的问题,然后把(SELECT plank_id FROM cloud_storage_plank ORDER BY id DESC LIMIT 0,10) 中的筛选结果作为新的表格可以解决。

于是,sql成了这样

SELECT * FROM asdfasdf cp WHERE cp.id NOT IN (SELECT p_id(SELECT p_id FROM csp ORDER BY id DESC LIMIT 0,10)  tb)

嗯,真的解决了,但是。
问题是在LIMIT 0,10,而且这种修改后的语句性能会大大降低,其实 LIMIT 0,10只要用在外层就可以了,不用重铸表。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。