USE database1; set @@tidb_mem_quota_query=107374182400; # 100GB SELECT * FROM ( SELECT count(1) FROM table2 a WHERE EXISTS ( SELECT 1 FROM table3 b WHERE a.col3 = b.col30 AND EXISTS ( SELECT 1 FROM table1 c use index(primary) WHERE a.col2 = c.col1 AND b.col1 = c.col13 ) ) AND EXISTS ( SELECT 1 FROM table1 d use index(primary) WHERE a.col2 = d.col1 ) AND NOT EXISTS ( SELECT 1 FROM table4 t WHERE a.col2 = t.col2 AND a.col4 = t.col7 ) ) tmp_table LIMIT 1000;