1- -- ***************************************************** --
2- -- Purpose of this script: make WideWorldImportersDW
3- -- bigger - so you can see more impactful
4- -- Intelligent QP demonstrations (aka.ms/iqp)
5- --
6- -- Script last updated 05/03/2019
7- --
8- -- Database backup source: aka.ms/wwibak
9- --
10- -- Initial database file to restore before beginning this script:
11- -- WideWorldImportersDW-Full.bak
12- -- ***************************************************** --
13-
14- USE WideWorldImportersDW;
15- GO
16-
17- /*
18- Assumes a fresh restore of WideWorldImportersDW
19- */
20-
21- IF OBJECT_ID (' Fact.OrderHistory' ) IS NULL BEGIN
22- SELECT [Order Key], [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
23- INTO Fact .OrderHistory
24- FROM Fact.[Order];
25- END ;
26-
27- ALTER TABLE Fact .OrderHistory
28- ADD CONSTRAINT PK_Fact_OrderHistory PRIMARY KEY NONCLUSTERED ([Order Key] ASC , [Order Date Key] ASC )WITH (DATA_COMPRESSION = PAGE );
29- GO
30-
31- CREATE INDEX IX_Stock_Item_Key
32- ON Fact .OrderHistory ([Stock Item Key])
33- INCLUDE (Quantity)
34- WITH (DATA_COMPRESSION = PAGE );
35- GO
36-
37- CREATE INDEX IX_OrderHistory_Quantity
38- ON Fact .OrderHistory ([Quantity])
39- INCLUDE ([Order Key])
40- WITH (DATA_COMPRESSION = PAGE );
41- GO
42-
43- /*
44- Reality check... Starting count should be 231,412
45- */
46- SELECT COUNT (* ) FROM Fact .OrderHistory ;
47- GO
48-
49- /*
50- Make this table bigger (exec as desired)
51- Notice the "GO 4"
52- */
53- INSERT Fact .OrderHistory ([City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key])
54- SELECT [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
55- FROM Fact .OrderHistory ;
56- GO 4
57-
58- /*
59- Should be 3,702,592
60- */
61- SELECT COUNT (* ) FROM Fact .OrderHistory ;
62- GO
63-
64- IF OBJECT_ID (' Fact.OrderHistoryExtended' ) IS NULL BEGIN
65- SELECT [Order Key], [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
66- INTO Fact .OrderHistoryExtended
67- FROM Fact.[OrderHistory];
68- END ;
69-
70- ALTER TABLE Fact .OrderHistoryExtended
71- ADD CONSTRAINT PK_Fact_OrderHistoryExtended PRIMARY KEY NONCLUSTERED ([Order Key] ASC , [Order Date Key] ASC )
72- WITH (DATA_COMPRESSION = PAGE );
73- GO
74-
75- CREATE INDEX IX_Stock_Item_Key
76- ON Fact .OrderHistoryExtended ([Stock Item Key])
77- INCLUDE (Quantity);
78- GO
79-
80- /*
81- Should be 3,702,592
82- */
83- SELECT COUNT (* ) FROM Fact .OrderHistoryExtended ;
84- GO
85-
86- /*
87- Make this table bigger (exec as desired)
88- Notice the "GO 3"
89- */
90- INSERT Fact .OrderHistoryExtended ([City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key])
91- SELECT [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
92- FROM Fact .OrderHistoryExtended ;
93- GO 3
94-
95- /*
96- Should be 29,620,736
97- */
98- SELECT COUNT (* ) FROM Fact .OrderHistoryExtended ;
99- GO
100-
101- UPDATE Fact .OrderHistoryExtended
102- SET [WWI Order ID] = [Order Key];
1+ -- ***************************************************** --
2+ -- Purpose of this script: make WideWorldImportersDW
3+ -- bigger - so you can see more impactful
4+ -- Intelligent QP demonstrations (aka.ms/iqp)
5+ --
6+ -- Script last updated 05/03/2019
7+ --
8+ -- Database backup source: aka.ms/wwibak
9+ --
10+ -- Initial database file to restore before beginning this script:
11+ -- WideWorldImportersDW-Full.bak
12+ -- ***************************************************** --
13+
14+ USE WideWorldImportersDW;
15+ GO
16+
17+ /*
18+ Assumes a fresh restore of WideWorldImportersDW
19+ */
20+
21+ IF OBJECT_ID (' Fact.OrderHistory' ) IS NULL BEGIN
22+ SELECT [Order Key], [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
23+ INTO Fact .OrderHistory
24+ FROM Fact.[Order];
25+ END ;
26+
27+ ALTER TABLE Fact .OrderHistory
28+ ADD CONSTRAINT PK_Fact_OrderHistory PRIMARY KEY NONCLUSTERED ([Order Key] ASC , [Order Date Key] ASC )WITH (DATA_COMPRESSION = PAGE );
29+ GO
30+
31+ CREATE INDEX IX_Stock_Item_Key
32+ ON Fact .OrderHistory ([Stock Item Key])
33+ INCLUDE (Quantity)
34+ WITH (DATA_COMPRESSION = PAGE );
35+ GO
36+
37+ CREATE INDEX IX_OrderHistory_Quantity
38+ ON Fact .OrderHistory ([Quantity])
39+ INCLUDE ([Order Key])
40+ WITH (DATA_COMPRESSION = PAGE );
41+ GO
42+
43+ /*
44+ Reality check... Starting count should be 231,412
45+ */
46+ SELECT COUNT (* ) FROM Fact .OrderHistory ;
47+ GO
48+
49+ /*
50+ Make this table bigger (exec as desired)
51+ Notice the "GO 4"
52+ */
53+ INSERT Fact .OrderHistory ([City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key])
54+ SELECT [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
55+ FROM Fact .OrderHistory ;
56+ GO 4
57+
58+ /*
59+ Should be 3,702,592
60+ */
61+ SELECT COUNT (* ) FROM Fact .OrderHistory ;
62+ GO
63+
64+ IF OBJECT_ID (' Fact.OrderHistoryExtended' ) IS NULL BEGIN
65+ SELECT [Order Key], [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
66+ INTO Fact .OrderHistoryExtended
67+ FROM Fact.[OrderHistory];
68+ END ;
69+
70+ ALTER TABLE Fact .OrderHistoryExtended
71+ ADD CONSTRAINT PK_Fact_OrderHistoryExtended PRIMARY KEY NONCLUSTERED ([Order Key] ASC , [Order Date Key] ASC )
72+ WITH (DATA_COMPRESSION = PAGE );
73+ GO
74+
75+ CREATE INDEX IX_Stock_Item_Key
76+ ON Fact .OrderHistoryExtended ([Stock Item Key])
77+ INCLUDE (Quantity);
78+ GO
79+
80+ /*
81+ Should be 3,702,592
82+ */
83+ SELECT COUNT (* ) FROM Fact .OrderHistoryExtended ;
84+ GO
85+
86+ /*
87+ Make this table bigger (exec as desired)
88+ Notice the "GO 3"
89+ */
90+ INSERT Fact .OrderHistoryExtended ([City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key])
91+ SELECT [City Key], [Customer Key], [Stock Item Key], [Order Date Key], [Picked Date Key], [Salesperson Key], [Picker Key], [WWI Order ID], [WWI Backorder ID], Description , Package, Quantity, [Unit Price], [Tax Rate], [Total Excluding Tax], [Tax Amount], [Total Including Tax], [Lineage Key]
92+ FROM Fact .OrderHistoryExtended ;
93+ GO 3
94+
95+ /*
96+ Should be 29,620,736
97+ */
98+ SELECT COUNT (* ) FROM Fact .OrderHistoryExtended ;
99+ GO
100+
101+ UPDATE Fact .OrderHistoryExtended
102+ SET [WWI Order ID] = [Order Key];
103+ GO
104+
105+ -- Repeat until log shrinks
106+ CHECKPOINT
107+ GO
108+ DBCC SHRINKFILE (N ' WWI_Log' , 0 , TRUNCATEONLY)
103109GO
0 commit comments