慢速删除查询

时间:2013-11-06 16:24:46

标签: sql sql-server-ce

我有一个问题:

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。

1 个答案:

答案 0 :(得分:0)

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

只是

DELETE TableX
WHERE column1='sometext' AND column2='someothertext'