vak*_*ami 3 sql sql-server performance sql-server-2008-r2
我有一个非常奇怪的问题.
我有这样的查询,我在SQL Server 2008 R2中运行:
SELECT TOP (20) *
FROM MyTable
WHERE a = 0
AND b = 0
AND c = 0
Run Code Online (Sandbox Code Playgroud)
在MyTable上使用我的索引
但这个没有:
SELECT TOP (20) *
FROM MyTable
WHERE a = 0
OR b = 0
OR c = 0
Run Code Online (Sandbox Code Playgroud)
我想在我的程序中执行第二个查询.如何更改第二个查询以使用索引?
该指数是:
CREATE NONCLUSTERED INDEX [MyIndex] ON [dbo].[MyTable] (
[a] ASC,
[b] ASC,
[c] ASC
)
WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF,
DROP_EXISTING = OFF,
ONLINE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)