0

我有一个查询:

DELETE FROM tableX 
WHERE id IN 
   (SELECT TOP(100) id 
    FROM tableX 
    WHERE column1='<some text>' AND column2='<some other text>')

此查询需要将近 20 秒才能执行。

查看执行计划,它正在执行表扫描,这让我非常惊讶,因为我在 id(隐含因为这是一个 PK)、column1 和 column2 上有索引。

有什么办法可以重写此查询以提高其性能?

我正在使用 SQL SERVER CE 4.0。

4

1 回答 1

0

为什么要使用子查询从同一个表中获取 id?

只是

DELETE TableX
WHERE column1='sometext' AND column2='someothertext'
于 2013-11-06T18:31:48.740 回答