Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE #AGE_BUCKETS (AGE INT NULL, CNT INT NOT NULL);
- INSERT INTO #AGE_BUCKETS
- VALUES
- (NULL,6266612),
- (-971,1),
- (5,1),
- (13,19),
- (14,299),
- (15,740),
- (16,1190),
- (17,2419),
- (18,3842),
- (19,5615),
- (20,8375),
- (21,12414),
- (22,17768),
- (23,23478),
- (24,29857),
- (25,36860),
- (26,42358),
- (27,48682),
- (28,44090),
- (29,40243),
- (30,35525),
- (31,31584),
- (32,28900),
- (33,25339),
- (34,22813),
- (35,20744),
- (36,17656),
- (37,16935),
- (38,13313),
- (39,11700),
- (40,10383),
- (41,8753),
- (42,7838),
- (43,6805),
- (44,5701),
- (45,5216),
- (46,4698),
- (47,4787),
- (48,3710),
- (49,3124),
- (50,2741),
- (51,2274),
- (52,2019),
- (53,1838),
- (54,1454),
- (55,1331),
- (56,1159),
- (57,1149),
- (58,953),
- (59,756),
- (60,690),
- (61,651),
- (62,596),
- (63,487),
- (64,419),
- (65,398),
- (66,289),
- (67,330),
- (68,231),
- (69,219),
- (70,204),
- (71,167),
- (72,140),
- (73,94),
- (74,86),
- (75,86),
- (76,63),
- (77,56),
- (78,34),
- (79,27),
- (80,30),
- (81,20),
- (82,22),
- (83,13),
- (84,20),
- (85,9),
- (86,12),
- (87,41),
- (88,12),
- (89,20),
- (90,9),
- (91,10),
- (92,18),
- (93,15),
- (94,20),
- (95,42),
- (96,111),
- (97,923);
- CREATE TABLE dbo.X_AGES (
- Id BIGINT NOT NULL IDENTITY (1, 1),
- AGE INT NULL
- );
- INSERT INTO dbo.X_AGES WITH (TABLOCK) (AGE)
- SELECT ab.AGE
- FROM #AGE_BUCKETS ab
- CROSS APPLY (SELECT TOP (ab.CNT) NULL FROM dbo.GetNums(ab.CNT)) v(x)
- OPTION (FORCE ORDER, NO_PERFORMANCE_SPOOL, QUERYTRACEON 8649); -- I don't want to talk about it
- -- the real table
- CREATE TABLE dbo.Users (
- Id BIGINT NOT NULL IDENTITY (1, 1),
- Age INT NULL,
- FLUFF VARCHAR(100) NOT NULL,
- PRIMARY KEY (Id)
- );
- INSERT INTO dbo.Users WITH (TABLOCK) (Age, FLUFF)
- SELECT AGE, REPLICATE('CHEATTOWIN', 10)
- FROM dbo.X_AGES
- ORDER BY Id % 1000 - 0.1 * COALESCE(Age, 0); -- some lazy ordering to make the data less uniform
- CREATE INDEX ix_Age_id ON dbo.Users (Age) WITH (DATA_COMPRESSION = PAGE);
- DROP TABLE dbo.X_AGES;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement