2026-03-12 20:23:15
This commit is contained in:
16
tpt/experiments/add_column_default_value.sql
Normal file
16
tpt/experiments/add_column_default_value.sql
Normal file
@@ -0,0 +1,16 @@
|
||||
-- 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 t;
|
||||
|
||||
CREATE TABLE t (a int) TABLESPACE users;
|
||||
INSERT /*+ APPEND */ INTO t SELECT rownum FROM dba_source;
|
||||
COMMIT;
|
||||
--ALTER TABLE t ADD b INT DEFAULT 123 NOT NULL;
|
||||
|
||||
PAUSE Hit enter to add column
|
||||
ALTER TABLE t ADD c VARCHAR2(100) DEFAULT 'taneltest' NOT NULL;
|
||||
PAUSE Hit enter to change default value
|
||||
ALTER TABLE t MODIFY c VARCHAR2(100) DEFAULT 'not testing anymore';
|
||||
|
||||
|
||||
8
tpt/experiments/bigfile_hwm_brokering.sql
Normal file
8
tpt/experiments/bigfile_hwm_brokering.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
-- 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.
|
||||
|
||||
CREATE BIGFILE TABLESPACE big DATAFILE SIZE 100M AUTOEXTEND ON MAXSIZE 10G
|
||||
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M SEGMENT SPACE MANAGEMENT AUTO;
|
||||
|
||||
CREATE TABLE system.t_big TABLESPACE big PARALLEL 4 AS SELECT * FROM dba_source;
|
||||
|
||||
67
tpt/experiments/histogram_linear_decay_of_selectivity.sql
Normal file
67
tpt/experiments/histogram_linear_decay_of_selectivity.sql
Normal file
@@ -0,0 +1,67 @@
|
||||
-- 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 t;
|
||||
|
||||
CREATE TABLE t AS SELECT * FROM dba_objects;
|
||||
|
||||
SELECT
|
||||
MIN(created)
|
||||
, MAX(created)
|
||||
, ROUND(MAX(created)-MIN(created)) range_days
|
||||
, COUNT(*) num_rows
|
||||
, COUNT(*) / ROUND(MAX(created)-MIN(created)) rows_per_day
|
||||
, SUM(NVL2(created,0,1)) nulls
|
||||
FROM
|
||||
t
|
||||
/
|
||||
|
||||
EXEC DBMS_STATS.GATHER_TABLE_STATS(user, 'T', method_opt=>'FOR TABLE', no_invalidate=>FALSE);
|
||||
|
||||
-- SELECT * FROM t WHERE created > SYSDATE - 1;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE + 1;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE + 10;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE + 100;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
|
||||
-- SELECT * FROM t WHERE created > DATE'2012-09-01';
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
|
||||
SELECT * FROM t WHERE created < DATE'2010-10-01';
|
||||
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
|
||||
|
||||
|
||||
EXEC DBMS_STATS.GATHER_TABLE_STATS(user, 'T', method_opt=>'FOR TABLE FOR ALL COLUMNS SIZE 254', no_invalidate=>FALSE);
|
||||
|
||||
-- SELECT * FROM t WHERE created > SYSDATE - 1;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE + 1;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE + 10;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
--
|
||||
-- SELECT * FROM t WHERE created > SYSDATE + 100;
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
|
||||
-- SELECT * FROM t WHERE created > DATE'2012-09-01';
|
||||
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
|
||||
SELECT * FROM t WHERE created < DATE'2010-10-01';
|
||||
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'+PEEKED_BINDS'));
|
||||
|
||||
|
||||
36
tpt/experiments/lob_select_for_update.sql
Normal file
36
tpt/experiments/lob_select_for_update.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
-- 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 tlob;
|
||||
CREATE TABLE tlob (a INT, b CLOB);
|
||||
|
||||
INSERT INTO tlob VALUES(1, LPAD('x',2048,'x'));
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
UPDATE tlob SET b = b||b;
|
||||
|
||||
COMMIT;
|
||||
|
||||
SELECT DBMS_LOB.GETLENGTH(b) FROM tlob;
|
||||
|
||||
DROP TABLE tdummy;
|
||||
CREATE table tdummy AS SELECT * FROM all_objects;
|
||||
|
||||
DELETE tdummy;
|
||||
|
||||
ALTER SYSTEM CHECKPOINT;
|
||||
ALTER SYSTEM SWITCH LOGFILE;
|
||||
|
||||
SELECT * FROM tlob WHERE a=1 FOR UPDATE;
|
||||
COMMIT;
|
||||
|
||||
@log
|
||||
|
||||
ALTER SYSTEM SWITCH LOGFILE;
|
||||
|
||||
Reference in New Issue
Block a user