
--log-queries-not-using-indexes 옵션을 사용하여 인덱스가 사용되지 않은 쿼리를 로그로 기록할 때, 인덱스가 사용되지 않은 쿼리의 조건은 다음과 같습니다.
1. 쿼리가 인덱스를 사용하지 않거나, 인덱스를 사용하는 경우에도 인덱스 스캔이 불필요하여 인덱스를 사용하지 않습니다.
2. 쿼리가 인덱스를 사용하지만, 인덱스 스캔이 불필요한 경우, 인덱스를 사용하지 않습니다.
이 옵션을 사용하면 인덱스를 사용하는 쿼리가 로그에 기록되지 않습니다.
예를 들어, 다음과 같은 쿼리가 실행될 때, 인덱스가 사용되지 않은 쿼리의 조건을 확인할 수 있습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test';
이 쿼리는 인덱스를 사용하지 않습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE id = 1;
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name LIKE '%test%';
이 쿼리는 인덱스를 사용하지 않습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE id BETWEEN 1 AND 10;
이 쿼리는 인덱스를 사용하지 않습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id = 1;
이 쿼리는 인덱스를 사용하지 않습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE id = 1 AND name = 'test';
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10;
이 쿼리는 인덱스를 사용하지 않습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test';
이 쿼리는 인덱스를 사용하지 않습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1;
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test';
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1;
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test';
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1;
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test';
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1;
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test';
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1;
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test';
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1;
이 쿼리는 인덱스를 사용합니다.
#hostingforum.kr
sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test' AND id BETWEEN 1 AND 10 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test' AND id = 1 AND name = 'test';
이 쿼리는 인덱스를 사용합니다.
```sql
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(255)
);
CREATE INDEX idx_name ON test (name);
EXPLAIN SELECT * FROM test WHERE name = 'test'
2025-08-08 07:08