Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. SELECT *
  2. FROM Foo
  3. WHERE Name IN ('name1', 'name2')
  4. AND (Date<'2013-01-01' AND Date>'2010-01-01')
  5. AND Type = 1
  6.  
  7. SELECT *
  8. FROM Foo
  9. WHERE 1 = CASE
  10. WHEN Name IN ( 'name1', 'name2' ) THEN
  11. CASE
  12. WHEN Type = 1 THEN
  13. CASE
  14. WHEN ( Date < '2013-01-01'
  15. AND Date > '2010-01-01' ) THEN 1
  16. END
  17. END
  18. END
  19.  
  20. CREATE TABLE Foo
  21. (
  22. Id INT IDENTITY PRIMARY KEY,
  23. Name VARCHAR(10),
  24. [Date] DATE,
  25. [Type] TINYINT,
  26. Filler CHAR(8000) NULL
  27. )
  28.  
  29. CREATE NONCLUSTERED INDEX IX_Name
  30. ON Foo(Name)
  31.  
  32. CREATE NONCLUSTERED INDEX IX_Date
  33. ON Foo(Date)
  34.  
  35. CREATE NONCLUSTERED INDEX IX_Type
  36. ON Foo(Type)
  37.  
  38. INSERT INTO Foo
  39. (Name,
  40. [Date],
  41. [Type])
  42. SELECT TOP (100000) 'name' + CAST(0 + CRYPT_GEN_RANDOM(1) AS VARCHAR),
  43. DATEADD(DAY, 7 * CRYPT_GEN_RANDOM(1), '2012-01-01'),
  44. 0 + CRYPT_GEN_RANDOM(1)
  45. FROM master..spt_values v1,
  46. master..spt_values v2
  47.  
  48. Table 'Foo'. Scan count 3, logical reads 23,
  49. Table 'Worktable'. Scan count 0, logical reads 0
  50.  
  51. Table 'Foo'. Scan count 1, logical reads 100373
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement