418 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			418 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | show profiles; | ||
|  | Query_ID	Duration	Query | ||
|  | show profile all; | ||
|  | Status	Duration	CPU_user	CPU_system	Context_voluntary	Context_involuntary	Block_ops_in	Block_ops_out	Messages_sent	Messages_received	Page_faults_major	Page_faults_minor	Swaps	Source_function	Source_file	Source_line | ||
|  | show session variables like 'profil%'; | ||
|  | Variable_name	Value | ||
|  | profiling	OFF | ||
|  | profiling_history_size	15 | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 0 | ||
|  | set global profiling = ON; | ||
|  | ERROR HY000: Variable 'profiling' is a SESSION variable and can't be used with SET GLOBAL | ||
|  | set @start_value= @@global.profiling_history_size; | ||
|  | set global profiling_history_size=100; | ||
|  | show global variables like 'profil%'; | ||
|  | Variable_name	Value | ||
|  | profiling	OFF | ||
|  | profiling_history_size	100 | ||
|  | set session profiling = ON; | ||
|  | set session profiling_history_size=30; | ||
|  | show session variables like 'profil%'; | ||
|  | Variable_name	Value | ||
|  | profiling	ON | ||
|  | profiling_history_size	30 | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | create table t1 ( | ||
|  | a int, | ||
|  | b int | ||
|  | ); | ||
|  | insert into t1 values (1,1), (2,null), (3, 4); | ||
|  | insert into t1 values (5,1), (6,null), (7, 4); | ||
|  | insert into t1 values (1,1), (2,null), (3, 4); | ||
|  | insert into t1 values (5,1), (6,null), (7, 4); | ||
|  | select max(x) from (select sum(a) as x from t1 group by b) as teeone; | ||
|  | max(x) | ||
|  | 20 | ||
|  | insert into t1 select * from t1; | ||
|  | select count(*) from t1; | ||
|  | count(*) | ||
|  | 24 | ||
|  | insert into t1 select * from t1; | ||
|  | insert into t1 select * from t1; | ||
|  | insert into t1 select * from t1; | ||
|  | select count(*) from t1; | ||
|  | count(*) | ||
|  | 192 | ||
|  | insert into t1 select * from t1; | ||
|  | insert into t1 select * from t1; | ||
|  | insert into t1 select * from t1; | ||
|  | select count(*) from t1; | ||
|  | count(*) | ||
|  | 1536 | ||
|  | select sum(a) from t1; | ||
|  | sum(a) | ||
|  | 6144 | ||
|  | select sum(a) from t1 group by b; | ||
|  | sum(a) | ||
|  | 2048 | ||
|  | 1536 | ||
|  | 2560 | ||
|  | select sum(a) + sum(b) from t1 group by b; | ||
|  | sum(a) + sum(b) | ||
|  | NULL | ||
|  | 2048 | ||
|  | 4608 | ||
|  | select max(x) from (select sum(a) as x from t1 group by b) as teeone; | ||
|  | max(x) | ||
|  | 2560 | ||
|  | select '012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890' as big_string; | ||
|  | big_string | ||
|  | 012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890 | ||
|  | show profiles; | ||
|  | Query_ID	Duration	Query | ||
|  | 1	#	set session profiling_history_size=30 | ||
|  | 2	#	show session variables like 'profil%' | ||
|  | 3	#	select @@profiling | ||
|  | 4	#	create table t1 ( | ||
|  | a int, | ||
|  | b int | ||
|  | ) | ||
|  | 5	#	insert into t1 values (1,1), (2,null), (3, 4) | ||
|  | 6	#	insert into t1 values (5,1), (6,null), (7, 4) | ||
|  | 7	#	insert into t1 values (1,1), (2,null), (3, 4) | ||
|  | 8	#	insert into t1 values (5,1), (6,null), (7, 4) | ||
|  | 9	#	select max(x) from (select sum(a) as x from t1 group by b) as teeone | ||
|  | 10	#	insert into t1 select * from t1 | ||
|  | 11	#	select count(*) from t1 | ||
|  | 12	#	insert into t1 select * from t1 | ||
|  | 13	#	insert into t1 select * from t1 | ||
|  | 14	#	insert into t1 select * from t1 | ||
|  | 15	#	select count(*) from t1 | ||
|  | 16	#	insert into t1 select * from t1 | ||
|  | 17	#	insert into t1 select * from t1 | ||
|  | 18	#	insert into t1 select * from t1 | ||
|  | 19	#	select count(*) from t1 | ||
|  | 20	#	select sum(a) from t1 | ||
|  | 21	#	select sum(a) from t1 group by b | ||
|  | 22	#	select sum(a) + sum(b) from t1 group by b | ||
|  | 23	#	select max(x) from (select sum(a) as x from t1 group by b) as teeone | ||
|  | 24	#	select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345 | ||
|  | show profile for query 15; | ||
|  | show profile cpu for query 15; | ||
|  | show profile cpu, block io for query 15; | ||
|  | show profile cpu for query 9 limit 2 offset 2; | ||
|  | show profile cpu for query 10 limit 0; | ||
|  | show profile cpu for query 65534; | ||
|  | show profile memory; | ||
|  | show profile block io; | ||
|  | show profile context switches; | ||
|  | show profile page faults; | ||
|  | show profile ipc; | ||
|  | show profile swaps limit 1 offset 2; | ||
|  | show profile source; | ||
|  | show profile all for query 0 limit 0; | ||
|  | show profile all for query 15; | ||
|  | select * from information_schema.profiling; | ||
|  | select query_id, state, duration from information_schema.profiling; | ||
|  | select query_id, sum(duration) from information_schema.profiling group by query_id; | ||
|  | select query_id, count(*) from information_schema.profiling group by query_id; | ||
|  | select sum(duration) from information_schema.profiling; | ||
|  | select query_id, count(*), sum(duration) from information_schema.profiling group by query_id; | ||
|  | select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling; | ||
|  | drop table if exists t1, t2, t3; | ||
|  | Warnings: | ||
|  | Note	1051	Unknown table 't2' | ||
|  | Note	1051	Unknown table 't3' | ||
|  | create table t1 (id int ); | ||
|  | create table t2 (id int not null); | ||
|  | create table t3 (id int not null primary key); | ||
|  | insert into t1 values (1), (2), (3); | ||
|  | insert into t2 values (1), (2), (3); | ||
|  | insert into t3 values (1), (2), (3); | ||
|  | show profiles; | ||
|  | Query_ID	Duration	Query | ||
|  | 10	#	insert into t1 select * from t1 | ||
|  | 11	#	select count(*) from t1 | ||
|  | 12	#	insert into t1 select * from t1 | ||
|  | 13	#	insert into t1 select * from t1 | ||
|  | 14	#	insert into t1 select * from t1 | ||
|  | 15	#	select count(*) from t1 | ||
|  | 16	#	insert into t1 select * from t1 | ||
|  | 17	#	insert into t1 select * from t1 | ||
|  | 18	#	insert into t1 select * from t1 | ||
|  | 19	#	select count(*) from t1 | ||
|  | 20	#	select sum(a) from t1 | ||
|  | 21	#	select sum(a) from t1 group by b | ||
|  | 22	#	select sum(a) + sum(b) from t1 group by b | ||
|  | 23	#	select max(x) from (select sum(a) as x from t1 group by b) as teeone | ||
|  | 24	#	select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345 | ||
|  | 25	#	select * from information_schema.profiling | ||
|  | 26	#	select query_id, state, duration from information_schema.profiling | ||
|  | 27	#	select query_id, sum(duration) from information_schema.profiling group by query_id | ||
|  | 28	#	select query_id, count(*) from information_schema.profiling group by query_id | ||
|  | 29	#	select sum(duration) from information_schema.profiling | ||
|  | 30	#	select query_id, count(*), sum(duration) from information_schema.profiling group by query_id | ||
|  | 31	#	select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling | ||
|  | 32	#	drop table if exists t1, t2, t3 | ||
|  | 33	#	SHOW WARNINGS | ||
|  | 34	#	create table t1 (id int ) | ||
|  | 35	#	create table t2 (id int not null) | ||
|  | 36	#	create table t3 (id int not null primary key) | ||
|  | 37	#	insert into t1 values (1), (2), (3) | ||
|  | 38	#	insert into t2 values (1), (2), (3) | ||
|  | 39	#	insert into t3 values (1), (2), (3) | ||
|  | select * from t1; | ||
|  | id | ||
|  | 1 | ||
|  | 2 | ||
|  | 3 | ||
|  | show profiles; | ||
|  | Query_ID	Duration	Query | ||
|  | 11	#	select count(*) from t1 | ||
|  | 12	#	insert into t1 select * from t1 | ||
|  | 13	#	insert into t1 select * from t1 | ||
|  | 14	#	insert into t1 select * from t1 | ||
|  | 15	#	select count(*) from t1 | ||
|  | 16	#	insert into t1 select * from t1 | ||
|  | 17	#	insert into t1 select * from t1 | ||
|  | 18	#	insert into t1 select * from t1 | ||
|  | 19	#	select count(*) from t1 | ||
|  | 20	#	select sum(a) from t1 | ||
|  | 21	#	select sum(a) from t1 group by b | ||
|  | 22	#	select sum(a) + sum(b) from t1 group by b | ||
|  | 23	#	select max(x) from (select sum(a) as x from t1 group by b) as teeone | ||
|  | 24	#	select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345 | ||
|  | 25	#	select * from information_schema.profiling | ||
|  | 26	#	select query_id, state, duration from information_schema.profiling | ||
|  | 27	#	select query_id, sum(duration) from information_schema.profiling group by query_id | ||
|  | 28	#	select query_id, count(*) from information_schema.profiling group by query_id | ||
|  | 29	#	select sum(duration) from information_schema.profiling | ||
|  | 30	#	select query_id, count(*), sum(duration) from information_schema.profiling group by query_id | ||
|  | 31	#	select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling | ||
|  | 32	#	drop table if exists t1, t2, t3 | ||
|  | 33	#	SHOW WARNINGS | ||
|  | 34	#	create table t1 (id int ) | ||
|  | 35	#	create table t2 (id int not null) | ||
|  | 36	#	create table t3 (id int not null primary key) | ||
|  | 37	#	insert into t1 values (1), (2), (3) | ||
|  | 38	#	insert into t2 values (1), (2), (3) | ||
|  | 39	#	insert into t3 values (1), (2), (3) | ||
|  | 40	#	select * from t1 | ||
|  | This ^^ should end in "select * from t1;" | ||
|  | delete from t1; | ||
|  | insert into t1 values (1), (2), (3); | ||
|  | insert into t1 values (1), (2), (3); | ||
|  | select * from t1; | ||
|  | id | ||
|  | 1 | ||
|  | 2 | ||
|  | 3 | ||
|  | 1 | ||
|  | 2 | ||
|  | 3 | ||
|  | show profiles; | ||
|  | Query_ID	Duration	Query | ||
|  | 15	#	select count(*) from t1 | ||
|  | 16	#	insert into t1 select * from t1 | ||
|  | 17	#	insert into t1 select * from t1 | ||
|  | 18	#	insert into t1 select * from t1 | ||
|  | 19	#	select count(*) from t1 | ||
|  | 20	#	select sum(a) from t1 | ||
|  | 21	#	select sum(a) from t1 group by b | ||
|  | 22	#	select sum(a) + sum(b) from t1 group by b | ||
|  | 23	#	select max(x) from (select sum(a) as x from t1 group by b) as teeone | ||
|  | 24	#	select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345 | ||
|  | 25	#	select * from information_schema.profiling | ||
|  | 26	#	select query_id, state, duration from information_schema.profiling | ||
|  | 27	#	select query_id, sum(duration) from information_schema.profiling group by query_id | ||
|  | 28	#	select query_id, count(*) from information_schema.profiling group by query_id | ||
|  | 29	#	select sum(duration) from information_schema.profiling | ||
|  | 30	#	select query_id, count(*), sum(duration) from information_schema.profiling group by query_id | ||
|  | 31	#	select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling | ||
|  | 32	#	drop table if exists t1, t2, t3 | ||
|  | 33	#	SHOW WARNINGS | ||
|  | 34	#	create table t1 (id int ) | ||
|  | 35	#	create table t2 (id int not null) | ||
|  | 36	#	create table t3 (id int not null primary key) | ||
|  | 37	#	insert into t1 values (1), (2), (3) | ||
|  | 38	#	insert into t2 values (1), (2), (3) | ||
|  | 39	#	insert into t3 values (1), (2), (3) | ||
|  | 40	#	select * from t1 | ||
|  | 41	#	delete from t1 | ||
|  | 42	#	insert into t1 values (1), (2), (3) | ||
|  | 43	#	insert into t1 values (1), (2), (3) | ||
|  | 44	#	select * from t1 | ||
|  | set session profiling = OFF; | ||
|  | select sum(id) from t1; | ||
|  | sum(id) | ||
|  | 12 | ||
|  | show profiles; | ||
|  | Query_ID	Duration	Query | ||
|  | 15	#	select count(*) from t1 | ||
|  | 16	#	insert into t1 select * from t1 | ||
|  | 17	#	insert into t1 select * from t1 | ||
|  | 18	#	insert into t1 select * from t1 | ||
|  | 19	#	select count(*) from t1 | ||
|  | 20	#	select sum(a) from t1 | ||
|  | 21	#	select sum(a) from t1 group by b | ||
|  | 22	#	select sum(a) + sum(b) from t1 group by b | ||
|  | 23	#	select max(x) from (select sum(a) as x from t1 group by b) as teeone | ||
|  | 24	#	select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345 | ||
|  | 25	#	select * from information_schema.profiling | ||
|  | 26	#	select query_id, state, duration from information_schema.profiling | ||
|  | 27	#	select query_id, sum(duration) from information_schema.profiling group by query_id | ||
|  | 28	#	select query_id, count(*) from information_schema.profiling group by query_id | ||
|  | 29	#	select sum(duration) from information_schema.profiling | ||
|  | 30	#	select query_id, count(*), sum(duration) from information_schema.profiling group by query_id | ||
|  | 31	#	select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling | ||
|  | 32	#	drop table if exists t1, t2, t3 | ||
|  | 33	#	SHOW WARNINGS | ||
|  | 34	#	create table t1 (id int ) | ||
|  | 35	#	create table t2 (id int not null) | ||
|  | 36	#	create table t3 (id int not null primary key) | ||
|  | 37	#	insert into t1 values (1), (2), (3) | ||
|  | 38	#	insert into t2 values (1), (2), (3) | ||
|  | 39	#	insert into t3 values (1), (2), (3) | ||
|  | 40	#	select * from t1 | ||
|  | 41	#	delete from t1 | ||
|  | 42	#	insert into t1 values (1), (2), (3) | ||
|  | 43	#	insert into t1 values (1), (2), (3) | ||
|  | 44	#	select * from t1 | ||
|  | set session profiling = ON; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | create function f1() returns varchar(50) return 'hello'; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | select * from t1 where id <> f1(); | ||
|  | id | ||
|  | 1 | ||
|  | 2 | ||
|  | 3 | ||
|  | 1 | ||
|  | 2 | ||
|  | 3 | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | set session profiling = OFF; | ||
|  | drop table if exists profile_log; | ||
|  | Warnings: | ||
|  | Note	1051	Unknown table 'profile_log' | ||
|  | create table profile_log (how_many int); | ||
|  | drop procedure if exists p1; | ||
|  | drop procedure if exists p2; | ||
|  | drop procedure if exists p3; | ||
|  | create procedure p1 ()  | ||
|  | modifies sql data  | ||
|  | begin  | ||
|  | set profiling = ON;  | ||
|  | select 'This p1 should show up in profiling';  | ||
|  | insert into profile_log select count(*) from information_schema.profiling;  | ||
|  | end// | ||
|  | create procedure p2()  | ||
|  | deterministic  | ||
|  | begin  | ||
|  | set profiling = ON;  | ||
|  | call p1();  | ||
|  | select 'This p2 should show up in profiling';  | ||
|  | end// | ||
|  | create procedure p3 ()  | ||
|  | reads sql data  | ||
|  | begin  | ||
|  | set profiling = ON;  | ||
|  | select 'This p3 should show up in profiling';  | ||
|  | show profile;  | ||
|  | end// | ||
|  | first call to p1 | ||
|  | call p1; | ||
|  | select * from profile_log; | ||
|  | second call to p1 | ||
|  | call p1; | ||
|  | select * from profile_log; | ||
|  | third call to p1 | ||
|  | call p1; | ||
|  | select * from profile_log; | ||
|  | set session profiling = OFF; | ||
|  | call p2; | ||
|  | set session profiling = OFF; | ||
|  | call p3; | ||
|  | show profiles; | ||
|  | drop procedure if exists p1; | ||
|  | drop procedure if exists p2; | ||
|  | drop procedure if exists p3; | ||
|  | drop table if exists profile_log; | ||
|  | set session profiling = ON; | ||
|  | drop table if exists t2; | ||
|  | create table t2 (id int not null); | ||
|  | create trigger t2_bi before insert on t2 for each row set @x=0; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | insert into t2 values (1), (2), (3); | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | set session profiling = ON; | ||
|  | drop table if exists t1, t2; | ||
|  | create table t1 (id int not null primary key); | ||
|  | create table t2 (id int not null primary key, id1 int not null); | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | alter table t2 add foreign key (id1) references t1 (id) on delete cascade; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | lock table t1 write; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | unlock table; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | set autocommit=0; | ||
|  | select @@profiling, @@autocommit; | ||
|  | @@profiling	@@autocommit | ||
|  | 1	0 | ||
|  | begin; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | insert into t1 values (1); | ||
|  | insert into t2 values (1,1); | ||
|  | testing referential integrity cascade | ||
|  | delete from t1 where id = 1; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | testing rollback | ||
|  | rollback; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | testing commit | ||
|  | begin; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | commit; | ||
|  | select @@profiling; | ||
|  | @@profiling | ||
|  | 1 | ||
|  | drop table if exists t1, t2, t3; | ||
|  | drop view if exists v1; | ||
|  | Warnings: | ||
|  | Note	1051	Unknown table 'test.v1' | ||
|  | drop function if exists f1; | ||
|  | set session profiling = OFF; | ||
|  | set global profiling_history_size= @start_value; | ||
|  | End of 5.0 tests |