Guest User

Untitled

a guest
Aug 17th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. Proper indexing of a table give the queries listed
  2. CREATE TABLE [dbo].[Users](
  3. [Id] [int] IDENTITY(1,1) NOT NULL,
  4. [Email] [varchar](128) NOT NULL,
  5. [CreatedAt] [datetime] NOT NULL,
  6. [SourceId] [int] NOT NULL
  7. PRIMARY KEY CLUSTERED
  8. (
  9. [Id] ASC
  10. ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  11. ) ON [PRIMARY]
  12.  
  13. SELECT * FROM Users WHERE Email = 'some@email.com'
  14. SELECT * FROM Users WHERE Email = 'some@email.com' AND SourceId = some integer
  15. SELECT * FROM Users WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30'
  16. SELECT * FROM Users WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30' AND SourceId = some integer
  17.  
  18. CREATE INDEX IX_Users_Email_SourceId ON Users (Email, SourceId)
  19. CREATE INDEX IX_Users_CreatedAt ON Users (CreatedAt)
  20. CREATE INDEX IX_Users_SourceId ON Users (SourceId)
  21.  
  22. WHERE Email = 'some@email.com'
  23. index: Email
  24. or Email, SourceId
  25.  
  26. WHERE Email = 'some@email.com' AND SourceId = some integer
  27. index: SourceId, Email
  28. or Email, SourceId
  29.  
  30. WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30'
  31. index: CreatedAt
  32. or CreatedAt, SourceId
  33.  
  34. WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30' AND SourceId = some integer
  35. index: SourceId, CreatedAt
  36. or CreatedAt, SourceId
Add Comment
Please, Sign In to add comment