【TiDB 使用环境】生产环境 /测试/ Poc
【TiDB 版本】
/* dynamic native SQL query */
SELECT
COUNT(1)
FROM
Inv_A
where
1=1
AND Inv_A.chargeType = '1'
AND
(
comXXX IN (
SELECT
comXXX
FROM
pingcap
WHERE
Path LIKE (
SELECT
concat(Path, '%')
FROM
pingcap
WHERE
comXXX = '3401810429'
)
AND validStatus = '1'
)
OR comXXX IN (
SELECT
comXXX
FROM
pingcap
WHERE
Path LIKE (
SELECT
concat(Path, '%')
FROM
pingcap
WHERE
comXXX = '3401810430'
)
AND validStatus = '1'
)
OR comXXX IN (
SELECT
comXXX
FROM
pingcap
WHERE
Path LIKE (
SELECT
concat(Path, '%')
FROM
pingcap
WHERE
comXXX = '3401810431'
)
AND validStatus = '1'
)
)
生产环境有类似的SQL, 使用or条件多达8-10个的情况 ,大家解决这类SQL最好的方式是那种,是改写成select distinct comXXX去重,后面的 comXXX = 改成in 嘛,还是有关于这类SQL的hint 不用改写就可以解决