Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT *
- FROM Foo
- WHERE Name IN ('name1', 'name2')
- AND (Date<'2013-01-01' AND Date>'2010-01-01')
- AND Type = 1
- SELECT *
- FROM Foo
- WHERE 1 = CASE
- WHEN Name IN ( 'name1', 'name2' ) THEN
- CASE
- WHEN Type = 1 THEN
- CASE
- WHEN ( Date < '2013-01-01'
- AND Date > '2010-01-01' ) THEN 1
- END
- END
- END
- CREATE TABLE Foo
- (
- Id INT IDENTITY PRIMARY KEY,
- Name VARCHAR(10),
- [Date] DATE,
- [Type] TINYINT,
- Filler CHAR(8000) NULL
- )
- CREATE NONCLUSTERED INDEX IX_Name
- ON Foo(Name)
- CREATE NONCLUSTERED INDEX IX_Date
- ON Foo(Date)
- CREATE NONCLUSTERED INDEX IX_Type
- ON Foo(Type)
- INSERT INTO Foo
- (Name,
- [Date],
- [Type])
- SELECT TOP (100000) 'name' + CAST(0 + CRYPT_GEN_RANDOM(1) AS VARCHAR),
- DATEADD(DAY, 7 * CRYPT_GEN_RANDOM(1), '2012-01-01'),
- 0 + CRYPT_GEN_RANDOM(1)
- FROM master..spt_values v1,
- master..spt_values v2
- Table 'Foo'. Scan count 3, logical reads 23,
- Table 'Worktable'. Scan count 0, logical reads 0
- Table 'Foo'. Scan count 1, logical reads 100373
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement