33 lines
1.2 KiB
MySQL
33 lines
1.2 KiB
MySQL
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
|
|
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
|
|
|
|
DROP TABLE tcoal;
|
|
DROP SEQUENCE scoal;
|
|
CREATE TABLE tcoal (id NUMBER, a VARCHAR2(100), b VARCHAR2(100)) TABLESPACE users;
|
|
CREATE INDEX icoal1 ON tcoal(id) TABLESPACE users;
|
|
CREATE INDEX icoal2 ON tcoal(id,a) TABLESPACE users;
|
|
CREATE INDEX icoal3 ON tcoal(b) TABLESPACE users;
|
|
CREATE SEQUENCE scoal CACHE 10000;
|
|
|
|
BEGIN FOR i IN 1..100 LOOP
|
|
INSERT INTO tcoal SELECT scoal.NEXTVAL, DBMS_RANDOM.STRING('a', 20), DBMS_RANDOM.STRING('a', 20)
|
|
FROM dual CONNECT BY LEVEL <= 10000;
|
|
COMMIT;
|
|
DBMS_STATS.GATHER_INDEX_STATS(user, 'ICOAL1');
|
|
DBMS_STATS.GATHER_INDEX_STATS(user, 'ICOAL2');
|
|
DBMS_STATS.GATHER_INDEX_STATS(user, 'ICOAL3');
|
|
END LOOP; END;
|
|
/
|
|
|
|
BEGIN FOR i in 1..100 LOOP
|
|
DELETE FROM tcoal WHERE MOD(id,100)!=0 AND rownum <= 10000;
|
|
INSERT INTO tcoal SELECT scoal.NEXTVAL, DBMS_RANDOM.STRING('a', 20), DBMS_RANDOM.STRING('a', 20)
|
|
FROM dual CONNECT BY LEVEL <= 10000;
|
|
|
|
DBMS_STATS.GATHER_INDEX_STATS(user, 'ICOAL1');
|
|
DBMS_STATS.GATHER_INDEX_STATS(user, 'ICOAL2');
|
|
DBMS_STATS.GATHER_INDEX_STATS(user, 'ICOAL3');
|
|
END LOOP; END;
|
|
/
|
|
|