是否有可能加速SQL查询,如下所示?
SELECT....
FROM A, B, C
WHERE
A.a = B.a AND
B.b like '%'+C.a+'%'
答案 0 :(得分:1)
尽量避免'喜欢'。
用户内部加入。
在表A.a和B.a
上创建索引SELECT ...
FROM A INNER JOIN B
ON A.a = B.a
INNER JOIN C
ON B.b LIKE '%'+C.a+'%'
答案 1 :(得分:1)
虽然我更愿意看到这种语法(因为它不太可能无意中导致交叉连接):
SELECT A.a, B.a, B.b, C.a
FROM A
INNER JOIN B
ON A.a = B.a
INNER JOIN C
ON B.b LIKE '%' + C.a + '%';
如果此查询的昂贵部分是LIKE
操作,那么您可以做的并不多,因为这种特定模式每次都需要扫描。你能在B.b和C.a中展示一些数据的例子吗?还有A.a,B.a或B.b上的索引吗?