1、sql 改写: 用join 代替in, mysql in 过多参数,可能导致索引失效,不走索引
SELECT
count( a.credit_code ) enterpriseCnt,
ifnull( sum( CASE WHEN a.result = 1 THEN 1 ELSE 0 END ), 0 ) authEnterPriseCnt,
ifnull( sum( CASE WHEN a.result != 1 THEN 1 ELSE 0 END ), 0 ) noAuthEnterPriseCnt
FROM
t_enterprise_out_info a
JOIN (
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code UNION ALL
SELECT
'sdfsd' AS credit_code
) b ON a.credit_code = b.credit_code
WHERE
is_deleted = 1
2、分解参数,不要超过 mysql sql 的长度,分批几个线程同步执行查询,然后汇总结果,多线并发执行