Server IP : 104.21.38.3 / Your IP : 104.23.175.189 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/src/mysql-test/suite/innodb/t/ |
Upload File : |
# # WL#6469: Optimizing CREATE/DROP performance for temporary tables # --source include/no_valgrind_without_big.inc --source include/have_innodb.inc ######################################################################### # # # Will test following scenarios: # # 1. Vary innodb_change_buffering value for temp-table # ######################################################################### #------------------------------------------------------------- # # create test-bed. # let $change_buffer_value = `select @@global.innodb_change_buffering`; set global innodb_file_per_table = 0; #------------------------------------------------------------- # # 1. Vary innodb_change_buffering value # --disable_warnings DROP TABLE IF EXISTS t1,t2; --enable_warnings select @@global.innodb_change_buffering; create temporary table t1 (keyc int, c1 char(100), c2 char(100), primary key(keyc)) engine = innodb; create index idx on t1(keyc, c1(20)); delimiter |; create procedure populate_t1(IN rows INT) begin declare i int default 1; while (i <= rows) DO insert into t1 values (i, 'a', 'b'); set i = i + 1; end while; end| delimiter ;| set autocommit=0; select count(*) from t1; call populate_t1(1000); select count(*) from t1; select * from t1 limit 10; commit; update t1 set keyc = -1 * keyc where keyc%50 = 0; select count(*) from t1 where keyc < 0; drop table t1; # change innodb_change_buffering value to none set @@global.innodb_change_buffering = none ; select @@global.innodb_change_buffering; create temporary table t1 (keyc int, c1 char(100), c2 char(100), primary key(keyc)) engine = innodb; create index idx on t1(keyc, c1(20)); set autocommit=0; select count(*) from t1; CALL populate_t1(1000); select count(*) from t1; select * from t1 limit 10; commit; update t1 set keyc = -1 * keyc where keyc%50 = 0; select count(*) from t1 where keyc < 0; drop table t1; drop procedure if exists populate_t1; eval set global innodb_change_buffering = $change_buffer_value; #------------------------------------------------------------- # # remove test-bed. # set global innodb_file_per_table = default;