我有一个问题:
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。
答案 0 :(得分:0)
为什么要使用子查询从同一个表中获取ID?
只是
DELETE TableX
WHERE column1='sometext' AND column2='someothertext'