set global query_cache_strip_comments=ON;
set GLOBAL query_cache_size=1355776;
drop table if exists t1;
create table t1 (a int not null);
insert into t1 values (1),(2),(3);
flush query cache;
flush query cache;
reset query cache;
flush status;
flush query cache;
flush query cache;
reset query cache;
flush status;
/* with comment first */select * from t1;
a
1
2
3
-----------------------------------------------------
/* with comment first */select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	0
/* with comment first */select * from t1;
a
1
2
3
/* with comment first */select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	2
-----------------------------------------------------
# with comment first
select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	2
# with comment first
select * from t1;
a
1
2
3
# with comment first
select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	4
-----------------------------------------------------
-- with comment first
select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	4
-- with comment first
select * from t1;
a
1
2
3
-- with comment first
select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	6
-----------------------------------------------------
/* with comment first and "quote" */select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	6
/* with comment first and "quote" */select * from t1;
a
1
2
3
/* with comment first and "quote" */select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	8
-----------------------------------------------------
# with comment first and "quote"
select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	8
# with comment first and "quote"
select * from t1;
a
1
2
3
# with comment first and "quote"
select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	10
-----------------------------------------------------
-- with comment first and "quote" 
select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	10
-- with comment first and "quote" 
select * from t1;
a
1
2
3
-- with comment first and "quote" 
select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	12
-----------------------------------------------------
/* with comment and whitespaces first */select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	12
/* with comment and whitespaces first */select * from t1;
a
1
2
3
/* with comment and whitespaces first */select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	14
-----------------------------------------------------
# with comment and whitespaces first
select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	14
# with comment and whitespaces first
select * from t1;
a
1
2
3
# with comment and whitespaces first
select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	16
-----------------------------------------------------
-- with comment and whitespaces first
select * from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	16
-- with comment and whitespaces first
select * from t1;
a
1
2
3
-- with comment and whitespaces first
select * from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	18
-----------------------------------------------------
select * /* internal comment */ from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	18
select * /* internal comment */ from t1;
a
1
2
3
select * /* internal comment */ from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	20
-----------------------------------------------------
select */* internal comment */ from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	20
select */* internal comment */ from t1;
a
1
2
3
select */* internal comment */ from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	22
-----------------------------------------------------
select */* internal comment */from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	22
select */* internal comment */from t1;
a
1
2
3
select */* internal comment */from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	24
-----------------------------------------------------
select * /* internal comment with "quote" */ from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	24
select * /* internal comment with "quote" */ from t1;
a
1
2
3
select * /* internal comment with "quote" */ from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	26
-----------------------------------------------------
select */* internal comment with "quote" */ from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	26
select */* internal comment with "quote" */ from t1;
a
1
2
3
select */* internal comment with "quote" */ from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	28
-----------------------------------------------------
select */* internal comment with "quote" */from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	28
select */* internal comment with "quote" */from t1;
a
1
2
3
select */* internal comment with "quote" */from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	30
-----------------------------------------------------
select * from t1

-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	30
select * from t1
;
a
1
2
3
select * from t1
;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	32
-----------------------------------------------------
select * from t1 
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	32
select * from t1 ;
a
1
2
3
select * from t1 ;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	34
-----------------------------------------------------
select * from t1	
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	34
select * from t1	;
a
1
2
3
select * from t1	;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	36
-----------------------------------------------------
select * from t1
/* comment in the end */
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	36
select * from t1
/* comment in the end */;
a
1
2
3
select * from t1
/* comment in the end */;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	38
-----------------------------------------------------
select * from t1
/* *\/ */
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	38
select * from t1
/* *\/ */;
a
1
2
3
select * from t1
/* *\/ */;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	40
-----------------------------------------------------
select * from t1
/* comment in the end */

-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	40
select * from t1
/* comment in the end */
;
a
1
2
3
select * from t1
/* comment in the end */
;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	42
-----------------------------------------------------
select * from t1 #comment in the end
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	42
select * from t1 #comment in the end;
a
1
2
3
select * from t1 #comment in the end;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	44
-----------------------------------------------------
select * from t1 #comment in the end

-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	44
select * from t1 #comment in the end
;
a
1
2
3
select * from t1 #comment in the end
;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	46
-----------------------------------------------------
select * from t1 -- comment in the end
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	46
select * from t1 -- comment in the end;
a
1
2
3
select * from t1 -- comment in the end;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	48
-----------------------------------------------------
select * from t1 -- comment in the end

-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	48
select * from t1 -- comment in the end
;
a
1
2
3
select * from t1 -- comment in the end
;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	50
-----------------------------------------------------
select */* a comment \*/from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	50
select */* a comment \*/from t1;
a
1
2
3
select */* a comment \*/from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	52
-----------------------------------------------------
select *# a comment \
from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	52
select *# a comment \
from t1;
a
1
2
3
select *# a comment \
from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	54
-----------------------------------------------------
select *-- a comment \
from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	54
select *-- a comment \
from t1;
a
1
2
3
select *-- a comment \
from t1;
a
1
2
3
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	56
-----------------------------------------------------
select "\\"" /* not a comment */" from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	1
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	56
select "\\"" /* not a comment */" from t1;
\" /* not a comment */
\" /* not a comment */
\" /* not a comment */
\" /* not a comment */
select "\\"" /* not a comment */" from t1;
\" /* not a comment */
\" /* not a comment */
\" /* not a comment */
\" /* not a comment */
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	2
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	2
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	57
-----------------------------------------------------
select "\\"" /*! not a comment */" from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	2
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	2
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	57
select "\\"" /*! not a comment */" from t1;
\" /*! not a comment */
\" /*! not a comment */
\" /*! not a comment */
\" /*! not a comment */
select "\\"" /*! not a comment */" from t1;
\" /*! not a comment */
\" /*! not a comment */
\" /*! not a comment */
\" /*! not a comment */
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	3
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	3
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	58
-----------------------------------------------------
select ' \'  ' from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	3
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	3
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	58
select ' \'  ' from t1;
'  
 '  
 '  
 '  
select ' \'  ' from t1;
'  
 '  
 '  
 '  
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	4
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	4
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	59
-----------------------------------------------------
select ' \' /* comment inside quotes with internal backslash quote */' from t1
-----------------------------------------------------
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	4
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	4
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	59
select ' \' /* comment inside quotes with internal backslash quote */' from t1;
' /* comment inside quotes with internal backslash quote */
 ' /* comment inside quotes with internal backslash quote */
 ' /* comment inside quotes with internal backslash quote */
 ' /* comment inside quotes with internal backslash quote */
select ' \' /* comment inside quotes with internal backslash quote */' from t1;
' /* comment inside quotes with internal backslash quote */
 ' /* comment inside quotes with internal backslash quote */
 ' /* comment inside quotes with internal backslash quote */
 ' /* comment inside quotes with internal backslash quote */
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	5
show status like "Qcache_inserts";
Variable_name	Value
Qcache_inserts	5
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	60
DROP TABLE t1;
SET GLOBAL query_cache_size=default;
set global query_cache_strip_comments=OFF;
