Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Proper indexing of a table give the queries listed
- CREATE TABLE [dbo].[Users](
- [Id] [int] IDENTITY(1,1) NOT NULL,
- [Email] [varchar](128) NOT NULL,
- [CreatedAt] [datetime] NOT NULL,
- [SourceId] [int] NOT NULL
- PRIMARY KEY CLUSTERED
- (
- [Id] ASC
- ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
- SELECT * FROM Users WHERE Email = 'some@email.com'
- SELECT * FROM Users WHERE Email = 'some@email.com' AND SourceId = some integer
- SELECT * FROM Users WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30'
- SELECT * FROM Users WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30' AND SourceId = some integer
- CREATE INDEX IX_Users_Email_SourceId ON Users (Email, SourceId)
- CREATE INDEX IX_Users_CreatedAt ON Users (CreatedAt)
- CREATE INDEX IX_Users_SourceId ON Users (SourceId)
- WHERE Email = 'some@email.com'
- index: Email
- or Email, SourceId
- WHERE Email = 'some@email.com' AND SourceId = some integer
- index: SourceId, Email
- or Email, SourceId
- WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30'
- index: CreatedAt
- or CreatedAt, SourceId
- WHERE CreatedAt BETWEEN '2011-10-01' AND '2011-10-30' AND SourceId = some integer
- index: SourceId, CreatedAt
- or CreatedAt, SourceId
Add Comment
Please, Sign In to add comment