加速和类似的加速SQL查询

时间:2012-03-29 14:02:44

标签: sql sql-server database

是否有可能加速SQL查询,如下所示?

SELECT....
FROM A, B, C
WHERE 
A.a = B.a AND
B.b like '%'+C.a+'%' 

2 个答案:

答案 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上的索引吗?