DELETE FROM g_re_enterprises_types WHERE enterprise_id IN ( SELECT id FROM g_enterprises WHERE enterprise_name = '广东百合医疗科技股份有限公司' );
但是同样的另外一个delete语句中也包含了in语句却只要0.4s DELETE FROM g_enterprises_certificate WHERE enterprises_id IN ( SELECT id FROM g_enterprises WHERE enterprise_name = '广东百合医疗科技股份有限公司' );
有没有什么解决的思路? mysql Ver 15.1 Distrib 10.0.15-MariaDB, for Linux (x86_64) using readline 5.1
@iamshaynez exists和in的性能比较要看比较吧。如果你指的是 SELECT * FROM A WHERE EXISTS ( SELECT * FROM B WHERE A.id = B.id ) 和 SELECT * FROM A WHERE A.id IN ( SELECT id FROM B ) 的话,通常来说是没有明显的区别的(execution plan是一样的)。 不过老的版本里IN会被翻译成一串OR。。。。。。那个性能就不能直视了