我有一个包含超过350万行的数据库表,我需要找到活动用户(bit
列),其名称在firstname列(ar
)中包含nvarchar(100)
。< / p>
我没有在firstname
上实现任何索引。
我写了一个像:
这样的查询select *
from table
where IsActive = 1 and firstname like '%ar%'
Time taken: ~17s
和第二个像这样:
select *
from table
where firstname like '%ar%' and IsActive = 1
Time taken: ~2s
我无法了解幕后发生的事情。可以请一些人解释一下SQL Server 2008 R2是如何做到这一点的吗?
在实施这些条件时,我应该记住哪些其他事项?