DROP TABLE city; CREATE TABLE city ( code NUMBER NOT NULL, descr VARCHAR2(50), CONSTRAINT city_pk PRIMARY KEY (code) USING INDEX (CREATE UNIQUE INDEX city_pk ON city (code ASC)) enable ) nologging; INSERT INTO city VALUES (1,'Paris'); INSERT INTO city VALUES (2,'Lyon'); INSERT INTO city VALUES (3,'Marseille'); INSERT INTO city VALUES (4,'Bordeaux'); INSERT INTO city VALUES (5,'Lille'); INSERT INTO city VALUES (6,'Toulouse'); INSERT INTO city VALUES (7,'Nantes'); INSERT INTO city VALUES (8,'Montpellier'); INSERT INTO city VALUES (9,'Dijon'); INSERT INTO city VALUES (10,'Arbois'); INSERT INTO city VALUES (11,'Nancy'); INSERT INTO city VALUES (12,'Troyes'); INSERT INTO city VALUES (13,'Bourges'); INSERT INTO city VALUES (14,'Tours'); INSERT INTO city VALUES (15,'Rennes'); INSERT INTO city VALUES (16,'Grenoble'); INSERT INTO city VALUES (17,'Annecy'); INSERT INTO city VALUES (18,'Rouen'); INSERT INTO city VALUES (19,'Brest'); INSERT INTO city VALUES (20,'Poitiers'); INSERT INTO city VALUES (21,'Metz'); INSERT INTO city VALUES (22,'Reims'); INSERT INTO city VALUES (23,'Amiens'); INSERT INTO city VALUES (24,'Caen'); INSERT INTO city VALUES (25,'Le Havre'); INSERT INTO city VALUES (26,'Quimper'); INSERT INTO city VALUES (27,'Saint-Nazaire'); INSERT INTO city VALUES (28,'Carcassonne'); INSERT INTO city VALUES (29,'Nimes'); INSERT INTO city VALUES (30,'Cannes'); COMMIT; EXEC dbms_stats.gather_table_stats(USER, 'city'); DROP TABLE customer; CREATE TABLE customer ( code NUMBER NOT NULL, descr VARCHAR2(50), CONSTRAINT customer_pk PRIMARY KEY (code) USING INDEX (CREATE UNIQUE INDEX customer_pk ON customer (code ASC)) enable ) nologging; INSERT INTO customer VALUES (1,'Wal-Mart Stores, Inc'); INSERT INTO customer VALUES (2,'Sinopec Group'); INSERT INTO customer VALUES (3,'Total'); INSERT INTO customer VALUES (4,'China National Petroleum Corporation'); INSERT INTO customer VALUES (5,'Royal Dutch Shell'); INSERT INTO customer VALUES (6,'ExxonMobil'); INSERT INTO customer VALUES (7,'Saudi Aramco'); INSERT INTO customer VALUES (8,'BP'); INSERT INTO customer VALUES (9,'State Grid Corporation of China'); INSERT INTO customer VALUES (10,'Samsung Group'); INSERT INTO customer VALUES (11,'Vitol'); INSERT INTO customer VALUES (12,'Toyota'); INSERT INTO customer VALUES (13,'Glencore Xstrata'); INSERT INTO customer VALUES (14,'Volkswagen Group'); INSERT INTO customer VALUES (15,'Chevron'); INSERT INTO customer VALUES (16,'Berkshire Hathaway'); INSERT INTO customer VALUES (17,'Apple'); INSERT INTO customer VALUES (18,'China Railway Corporation'); INSERT INTO customer VALUES (19,'Phillips 66'); INSERT INTO customer VALUES (20,'E.ON'); INSERT INTO customer VALUES (21,'Gazprom'); INSERT INTO customer VALUES (22,'Daimler'); INSERT INTO customer VALUES (23,'General Motors'); INSERT INTO customer VALUES (24,'Allianz'); INSERT INTO customer VALUES (25,'Japan Post Holdings'); INSERT INTO customer VALUES (26,'Ford Motor Company'); INSERT INTO customer VALUES (27,'General Electric'); INSERT INTO customer VALUES (28,'Eni'); INSERT INTO customer VALUES (29,'Rosneft'); INSERT INTO customer VALUES (30,'Petrobras'); COMMIT; EXEC dbms_stats.gather_table_stats(USER, 'customer'); DROP TABLE sales; CREATE TABLE sales(id NUMBER, city__code NUMBER, customer__code number, qty NUMBER, val VARCHAR2(100)) NOLOGGING; DECLARE i NUMBER; nbrows NUMBER; BEGIN i:=1; nbrows:=50000000; LOOP EXIT WHEN i>nbrows; INSERT INTO sales VALUES(i,ROUND(dbms_random.VALUE(1,30)),ROUND(dbms_random.VALUE(1,30)),ROUND(dbms_random.VALUE(1,10000)),dbms_random.VALUE(1,10000)); IF (MOD(i,100000)=0) THEN COMMIT; END IF; i:=i+1; END LOOP; COMMIT; END; / EXEC dbms_stats.gather_table_stats(USER, 'sales'); CREATE BITMAP INDEX sales_idx_citycode ON SALES (CITY__CODE); CREATE BITMAP INDEX sales_idx_custcode ON SALES (CUSTOMER__CODE);