Bug #29244 log-queries-not-using-indexes logs all UNION SELECTs to slow query log
| Submitted: | 20 Jun 2007 16:12 | ||
|---|---|---|---|
| Reporter: | Axel Schwenke | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: Logging | Severity: | S4 (Feature request) |
| Version: | 4.1.22, 5.0.44, 5.1.20 | OS: | Any |
| Assigned to: | CPU Architecture: | Any |
[7 Nov 2010 6:35]
Michael Furdyk
This is severely polluting and growing our slow query log, so just wanted to add a +1 to the usefulness of this!
[21 Jan 2011 7:53]
Michal Kovacik
I have to agree with you. Logging this type of UNION queries is completely useless.
[30 Jan 2012 0:09]
Gavin Stark
+1 the individual queries comprising the UNIONs should be considered for index usage
[19 Apr 2012 4:03]
jacky leung
+1 For this issue, this have cause a lot of false positive alert if using monitoring base on slow queries status
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.039 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When using the log-queries-not-using-indexes option, all UNION SELECTs will be logged to the slow query log, even when they were fast and using indexes. How to repeat: my.cnf: [mysqld] log-slow-queries log-queries-not-using-indexes mysql> create table t1 (c1 int, index (c1)); Query OK, 0 rows affected (0,04 sec) mysql> insert into t1 values (1), (2), (3), (4), (5); Query OK, 5 rows affected (0,01 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> explain select * from t1 where c1=2 union select * from t1 where c1=3\G *************************** 1. row *************************** id: 1 select_type: PRIMARY table: t1 type: ref possible_keys: c1 key: c1 key_len: 5 ref: const rows: 1 Extra: Using where; Using index *************************** 2. row *************************** id: 2 select_type: UNION table: t1 type: ref possible_keys: c1 key: c1 key_len: 5 ref: const rows: 1 Extra: Using where; Using index *************************** 3. row *************************** id: NULL select_type: UNION RESULT table: <union1,2> type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: NULL Extra: 3 rows in set (0,00 sec) mysql> select * from t1 where c1=2 union select * from t1 where c1=3; +------+ | c1 | +------+ | 2 | | 3 | +------+ 2 rows in set (0,00 sec) in slow-query.log: # Time: 070620 17:53:17 # User@Host: root[root] @ localhost [] # Query_time: 0 Lock_time: 0 Rows_sent: 2 Rows_examined: 7 use test; select * from t1 where c1=2 union select * from t1 where c1=3; Suggested fix: SELECT ... UNION statements should only be logged to the slow query log if any of the single SELECT statements would be logged.