From f6c1e34b1c26f5d9a482adfed044819aa76acab9 Mon Sep 17 00:00:00 2001 From: dev-jonghoonpark Date: Thu, 12 Dec 2024 03:28:26 +0900 Subject: [PATCH] =?UTF-8?q?add=20post=20'[MySQL]=20SELECT=20=EC=BF=BC?= =?UTF-8?q?=EB=A6=AC=20=EC=9E=91=EC=84=B1=20=EB=B0=8F=20=EC=B5=9C=EC=A0=81?= =?UTF-8?q?=ED=99=94=20-=20Real=20MySQL=20=EC=8A=A4=ED=84=B0=EB=94=94=206?= =?UTF-8?q?=ED=9A=8C=EC=B0=A8'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2024-12-07-mysql-select-query-optimize.md | 450 ++++++++++++++++++ .../count-with-distinct.png | Bin 0 -> 29449 bytes .../distinct-examples.png | Bin 0 -> 42542 bytes .../mysql-query-execute-flow.png | Bin 0 -> 28249 bytes .../visual-explain-example.png | Bin 0 -> 48431 bytes 5 files changed, 450 insertions(+) create mode 100644 _posts/2024-12-07-mysql-select-query-optimize.md create mode 100644 assets/images/2024-12-07-mysql-select-query-optimize/count-with-distinct.png create mode 100644 assets/images/2024-12-07-mysql-select-query-optimize/distinct-examples.png create mode 100644 assets/images/2024-12-07-mysql-select-query-optimize/mysql-query-execute-flow.png create mode 100644 assets/images/2024-12-07-mysql-select-query-optimize/visual-explain-example.png diff --git a/_posts/2024-12-07-mysql-select-query-optimize.md b/_posts/2024-12-07-mysql-select-query-optimize.md new file mode 100644 index 0000000..64fed5a --- /dev/null +++ b/_posts/2024-12-07-mysql-select-query-optimize.md @@ -0,0 +1,450 @@ +--- +layout: post +title: "[MySQL] SELECT 쿼리 작성 및 최적화 - Real MySQL 스터디 6회차" +categories: [스터디-데이터베이스] +tags: + [ + MySQL, + SELECT, + INDEX, + WHERE, + GROUP BY, + DISTINCT, + ORDER BY, + COUNT, + LIMIT, + PAGING, + CTE, + EXPLAIN, + VISUAL EXPLAIN, + ] +date: 2024-10-19 23:59:59 +0900 +toc: true +--- + +[K-DEVCON](https://k-devcon.com) 대전 개발자 스터디에서 Real Mysql 책으로 스터디를 진행해보기로 했다. + +발표하면서 준비한 내용을 블로그로도 옮겨보려고 한다. + +이 글의 내용은 Mysql 8.0 에서 InnoDB 를 기준으로 정리되었다. 이 글은 정리글이기에 생략이 있으며, 책에서는 이전 버전이나 다른 스토리지 엔진에 대해서도 다루기도 하고 더 자세한 내용들을 다루고 있다. 책의 구성이 이미 안다는것을 전제하에 진행된 부분들도 있어 해당 부분에 대해서 보충설명을 넣기도 하였다. + +--- + +# SELECT 쿼리 작성 및 최적화 + +## SELECT 문의 구조 + +```sql +SELECT s.emp_no, COUNT(DISTINCT e.first_name) AS cnt +FROM salaries s + INNER JOIN employees e ON e.emp_no=s.emp_no +WHERE s.emp_no IN (100001, 100002) +GROUP BY s.emp_no +HAVING AVG(s.salary) › 1000 +ORDER BY AVG(s.salary) +LIMIT 10; +``` + +SELECT 문은 여러 가지 절(키워드 + 그 뒤에 기술된 표현식)로 구정되어 있다. +SELECT 절, FROM 절, WHERE 절, GROUP BY절, HAVING 절, ORDER BY 절, LIMIT 절 이 이에 해당한다. + +## SELECT 문의 처리 순서 + +일반적인 상황에서의 쿼리 실행 순서는 다음과 같다. + +![mysql-query-execute-flow](/assets/images/2024-12-07-mysql-select-query-optimize/mysql-query-execute-flow.png) + +만약 이 실행 순서를 벗어나는 쿼리가 필요하다면, 서브쿼리로 작성된 인라인 뷰를 고려하자. + +## SELECT 문에서 WHERE 절 작성시 주의 사항 + +- 조건식은 데이터 타입이 일치하도록 작성한다. + - 데이터 타입이 일치하지 않으면 index를 사용하지 못한다. +- 데이터 베이스의 컬럼이 변형되지 않도록 주의한다. 컬럼이 변형되면 index를 설정하더라도 index를 사용하지 못한다. 필요시 입력값을 변형한다. + - 예시 + - `SELECT * FROM employees WHERE first_name = 10001;` + - 데이터베이스의 문자열 컬럼이 숫자로 변경된 다음 비교를 진행하게 된다. + +## COUNT 함수 + +- COUNT 함수에 `*` 을 사용하면, 모든 ROW를 계산합니다. +- COUNT 함수에 컬럼을 지정했을 경우, 그 컬럼이 NULL 일경우 제외하여 계산합니다. + +### COUNT 함수에 대해 쉽게 오해하는 것 + +COUNT는 그냥 데이터를 가져오는 것에 비해 빠를 것이다 기대하지만 그렇지 않다. +네트워크 사용량은 적을 수 있겠지만 일반적인 SELECT와 접근 방식은 동일하다. + +일반적으로 `SELECT *` 은 LIMIT 과 동시에 사용되지만, `SELECT COUNT(*)` 는 LIMIT 없이 사용된다. COUNT에는 LIMIT이 적용되지 않는다. + +### 전체 건수 조회하기 + +아래 쿼리는 모두 동일한 결과를 반환한다. + +- `COUNT(1)`, `COUNT(pk_col)`, `COUNT(*)`, `SUM(1)`, `COUNT(not_null_col)` + +하지만 그럼에도 전체 컬럼을 가져올때는 `COUNT(*)` 을 쓰는것이 좋다. + +- 일부 상황에서 성능이 달라질 수 있음. +- 혼용될 경우 쿼리의 가독성이 떨어짐 + +### `COUNT (DISTINCT COLUMN)` + +COUNT (DISTINCT COLUMN)은 인덱스가 없을 경우 임시 테이블로 중복 제거후 건수를 확인한다. (부하가 심할 수 있으므로 주의한다.) + +![count-with-distinct](/assets/images/2024-12-07-mysql-select-query-optimize/count-with-distinct.png) + +### `COUNT(*)` 튜닝 + +- 최고의 튜닝은 쿼리 자체를 제거하는 것. + - 전체 결과 건수 확인 쿼리 제거 +- 쿼리를 제거할 수 없다면, 대략적 건수 활용 + - **대부분 조회되는 데이터는 앞쪽에 있다.** + - 부분 레코드 건수 조회 + - `SELECT COUNT(*) FROM (SELECT 1 FROM table LIMIT 200) z;` + - 임의의 페이지 번호 표기 (구글 검색이 이 방식을 활용한다.) + - 첫 페이지에서 10개 페이지 표시 후, 실제 해당 페이지로 이동하면서 페이지 번호 보정 + - 페이지 보정이 발생되었을 경우, `COUNT(*)` 을 수행하긴 하지만, 기존보다 호출 횟수를 줄일 수 있음. + - 통계 정보 활용 + - 쿼리 조건이 없는 경우, 테이블 통계 활용 + - 쿼리 조건이 있는 경우, 실행 계획 활용 + +## DISTINCT + +DISTINCT는 특정 칼럼의 유니크한 값만 조회한다. SELECT 절에서 사용할 수 있다. NULL도 결과에 포함될 수 있다. + +### DISTINCT 사용시 주의 사항 + +아래의 두 쿼리의 차이는 무엇일까? + +```sql +SELECT DISTINCT first_name, last_name FROM employees +SELECT (DISTINCT first_name), last_name FROM employees +``` + +정답은 없다. + +DISTINCT 는 SELECT 하는 레코드(튜플)을 유니크하게 SELECT 하는 것이지, 특정 칼럼만 유니크 하게 조회하는 것이 아니다. +MySQL 서버는 DISTINCT 뒤의 괄호를 그냥 의미 없이 사용된 괄호로 해석하고 제거해버린다. (DISTINCT 는 함수가 아니다. 괄호가 의미가 없다.) + +책에서는 아래와 같은 문제도 제시하고 있다. 세가지 쿼리문이 각각 어떠한 차이가 있을까? + +```sql +SELECT DISTINCT first_name, last_name +FROM employees WHERE emp_no BETWEEN 10001 AND 10200; + +SELECT COUNT(DISTINCT first_name), COUNT(DISTINCT last_name) +FROM employees WHERE emp_no BETWEEN 10001 AND 10200; + +SELECT COUNT(DISTINCT first_name, last_name) +FROM employees WHERE emp_no BETWEEN 10001 AND 10200; +``` + +첫번째 쿼리는 유니크한 튜플 조합을 SELECT 한다. +두번째 쿼리는 first_name의 유니크한 값을 카운트 한 것과, last_name의 유니크한 값을 카운트 한 것을 SELECT 한다. 여기서 주의할 것은 COUNT는 NULL인 레코드는 계산에 포함하지 않는다. +세번째 쿼리는 유니크한 튜플 조합을 카운트 한 것을 반환한다. 여기서 주의할 것은 두 컬럼 중 하나라도 NULL 이 포함되어 있다면 계산에 포함하지 않는다. + +### DISTINCT 와 GROUP BY 의 차이는? + +- DISTINCT 는 중복 제거가 주 목적이다. +- GROUP BY 는 집계 및 요약 작업이 주 목적이다. + +#### LIMIT 과 함께 사용할 때 + +DISTINCT는 LIMIT 까지 수행되면 그 순간 쿼리를 멈춘다. 반면에 GROUP BY는 일단 GROUP BY가 완료 된 후에 LIMIT을 수행한다. + +## 외래키가 설정되어 있으면 성능에 도움이 될까? + +근본적으로 봤을 때 외래키는 무결성을 지키게 하는 제약조건일 뿐이다. 따라서 성능이 개선되거나 하지는 않는다. +하지만 MySQL은 외래키를 설정할 때 자동으로 index를 설정한다. 따라서 성능이 올라가는 것처럼 보일 수 있다. + +## WHERE 와 HAVING의 비교 + +- 공통점 : WHERE 와 HAVING은 모두 조건을 지정하는데 사용된다. +- 차이점 + - WHERE 는 레코드에 대한 조건을 지정한다. + - HAVING 은 그룹에 대한 조건을 지정한다. 즉, GROUP BY 가 적용된 데이터에 대해 필터링을 진행한다. + - 처리 순서 + - WHERE 는 GROUP BY 이전에 적용합니다. + - HAVING 은 GROUP BY 이후에 적용됩니다. + +## index 활용하기 + +### WHERE 절의 인덱스 사용 + +WHERE 절에서 조건들의 실행 순서는 작성 순서와 다를 수 있다. + +옵티마이저는 인덱스를 사용할 수 있는 조건들을 뽑아서 먼저 진행한다. 나머지는 순차적으로 진행된다. + +### GROUP BY 절의 인덱스 사용 + +- GROUP BY 절에 명시된 칼럼이 인덱스 칼럼의 순서와 위치가 같아야 한다. +- 인덱스를 구성하는 칼럼중에서 뒤쪽에 있는 칼럼은 GROUP BY절에 명시되지 않아도 인덱스를 사용할 수 있지만 인덱스의 앞 쪽에 있는 칼럼이 GROUP BY 절에 명시되지 않으면 인덱스를 사용할 수 없다. +- WHERE 조건절과는 달리 GROUP BY 절에 명시된 칼럼이 하나라도 인덱스에 없으면 GROUP BY절은 전혀 인덱스를 이용하지 못한다. + +#### GROUP BY 절에서 인덱스를 사용하지 못하는 예시 + +index는 COL_1, COL_2, COL_3, COL_4 순으로 모두 ASC로 걸려있다 가정 + +```sql +... GROUP BY COL_2, COL_1 +... GROUP BY COL_1, COL_3, COL_2 +... GROUP BY COL_1, COL_3 +... GROUP BY COL_1, COL_2, COL_3, COL_4, COL_5 +``` + +#### GROUP BY 절에서 인덱스를 사용하는 예시 + +index는 COL_1, COL_2, COL_3, COL_4 순으로 모두 ASC로 걸려있다 가정 + +```sql +... GROUP BY COL_1 +... GROUP BY COL_1, COL_2 +... GROUP BY COL_1, COL_2, COL_3 +... GROUP BY COL_1, COL_2, COL_3, COL_4 +``` + +### ORDER BY 절의 인덱스 사용 + +GROUP BY 와 비슷하나 한가지 추가적인 조건이 있다. + +- ORDER BY 절에 명시된 칼럼이 인덱스 칼럼의 순서와 위치가 같아야 한다. +- 인덱스를 구성하는 칼럼중에서 뒤쪽에 있는 칼럼은 ORDER BY절에 명시되지 않아도 인덱스를 사용할 수 있지만 인덱스의 앞 쪽에 있는 칼럼이 6ROUP BY 절에 명시되지 않으면 인덱스를 사용할 수 없다. +- WHERE 조건절과는 달리 ORDER BY 절에 명시된 칼럼이 하나라도 인덱스에 없으면 ORDER BY절은 전혀 인덱스를 이용하지 못한다. +- ORDER BY 절의 컬럼 순서와 방향이 인덱스의 정의와 일치하거나 + 반대인 경우에만 인덱스를 활용할 수 있다. + +#### ORDER BY 절에서 인덱스를 사용하지 못하는 예시 + +index는 COL_1, COL_2, COL_3, COL_4 순으로 모두 ASC로 걸려있다 가정 + +```sql +... ORDER BY COL_2, COL_1 +... ORDER BY COL_1, COL_2 DESC, COL_3 +... ORDER BY COL_1, COL_3, COL_2 +... ORDER BY COL_1, COL_3 +... ORDER BY COL_1, COL_2, COL_3, COL_4, COL_5 +``` + +### 복합 사례 + +아래의 쿼리는 index를 활용할 수 있을까? + +```sql +SELECT * +FROM tb_test +WHERE COL_1=10 +ORDER BY COL_2, COL_3; +``` + +얼핏 보기에는 ORDER BY 에 COL_1 이 빠졌기 때문에 되지 않을것으로 보인다. +하지만 COL_1 의 경우에는 이미 WHERE 절에서 필터링이 되었기 때문에 이 경우에는 index를 활용할 수 있다. + +## LIMIT 절 + +LIMIT은 1개 또는 2개의 인자를 사용할 수 있다. + +1개 인자 사용 : 상위 n 개의 레코드를 가져온다. +2개 인자 사용 : 첫 번째 인자에 지정된 위치부터 두 번째 인자에 명시된 개수 만큼의 레코드를 가져온다 + +아래의 SELECT 문들은 같은 결과를 반환한다. + +```sql +SELECT * FROM employees LIMIT 10; +SELECT * FROM employees LIMIT 0, 10; +SELECT * FROM employees OFFSET 0 LIMIT 10; +``` + +### LIMIT 사용시 유의 사항 + +DBMS에서 순차적으로 레코드를 읽지 않고 지정된 OFFSET 이후 데이터만 바로 가져올 수는 없다. 따라서 OFFSET이 커질수록 쿼리 실행을 위해 읽는 데이터가 많아진다. + +```sql +SELECT * FROM employees LIMIT 0, 10; +SELECT * FROM employees LIMIT 10, 10; +``` + +첫번째 SQL 문을 수행하기 위해서는 10개의 데이터만 읽으면 되지만 +두번째 SQL 문을 수행하기 위해서는 20개의 데이터를 읽어야 한다. + +## 페이징 쿼리 작성법 + +위에서 LIMIT 으로 발생할 수 있는 성능 문제에 대해서 알아보았다. + +LIMIT 만으로 페이징 처리를 하는것은 성능 문제를 발생 할 수 있다. 그러면 어떻게 페이징 쿼리를 하면 좋을지에 대해서 알아본다. + +범위 기반 방식 과 데이터 개수 기반 방식 을 정리한다. + +### 범위 기반 방식 예시 + +- 날짜 기간이나 숫자 범위로 나눠서 데이터를 조회하는 방식. +- 배치 작업에서 주로 사용한다. + +숫자인 id 값을 바탕으로 범위를 나눠 데이터 조회 (5000 단위 조회) + +```sql +SELECT * +FROM users +WHERE id > 0 AND id <= 5000 +``` + +날짜 기준으로 나눠서 조회 (일 단위 조회) + +```sql +SELECT * +FROM payments +WHERE finished_at >= '2024-12-07' AND finished_at < '2022-12-07' +``` + +### 데이터 개수 기반 방식 + +- 지정된 데이터 건수만큼 결과 데이터를 반환하는 방식. +- 서비스 단에서 주로 사용한다. +- ORDER BY & LIMIT 절을 사용한다. +- 처음 쿼리를 실행할 때(1회차)와 그 이후 쿼리를 실행할 때(N회차) 쿼리 형태가 달라진다. + +아래 쿼리를 페이징 처리를 한다면 + +```sql +SELECT * +FROM payments +WHERE user_id = ? +``` + +다음과 같이 쿼리를 만들어 볼 수 있다. + +1회차 쿼리 + +```sql +SELECT * +FROM payments +WHERE user_id = ? +ORDER BY id +LIMIT 30 +``` + +N회차 쿼리 + +```sql +SELECT * +FROM payments +WHERE user_id = ? + AND id > {이전 데이터의 마지막 id 값} +ORDER BY id +LIMIT 30 +``` + +## ORDER BY + +DBMS는 ORDER BY로 명시하지 않을 경우 정렬이 되어있는것을 보장하지는 않는다. 따라서 순서가 중요할 경우는 반드시 ORDER BY를 사용해 줘야 한다. + +## 잠금 + +잠금 파트를 공부할 때 `SELECT ... FOR UPDATE` 에 대해서 배웠었다. + +`SELECT ... FOR UPDATE` 를 사용할 경우 MySQL 은 Record 락을 수행한다. + +관련 글 : [[MySQL] 잠금 과 트랜잭션 (Lock and Transacdtion)](https://jonghoonpark.com/2024/09/07/mysql-lock-and-transaction) + +추가적으로 NO WAIT 와 SKIP LOCK 에 대해서 알아보도록 한다. + +### NOWAIT & SKIP LOCK + +NOWAIT : LOCK 이 걸려있을 경우 중지(Abort) 시킨다. +SKIP LOCK : LOCK 이 걸려있는 레코드는 무시하고 반환한다. + +이 두가지를 어떤 상황에서 활용할 수 있는지 간단한 예시와 함께 알아보자. + +### NOWAIT 사용 예시 + +예시 시나리오 + +- 사용자가 티켓을 예매하려고 한다. +- 여러 좌석 중에 앉을 좌석을 선택하고 결제 진행 한다. +- 사용자가 선택한 좌석이 다른 사용자들에게는 사용불가능한 좌석으로 표시되어야 한다. + +이러한 상황에서 Lock 이 걸려있단 것은 누군가 먼저 좌석 예매를 진행하고 있다는 뜻일 것이다. +따라서 NOWAIT를 사용한다면 LOCK이 걸려있다면 사용자에게 빠르게 피드백을 줄 수 있을 것이다. + +```sql +SELECT * FROM seats WHERE id=100 FOR UPDATE NOWAIT; + +ERROR 3572 (HY000) : Statement aborted +because lock(s) could not be acquired immediately and NOWAIT is set. +``` + +### SKIP LOCK 사용 예시 + +예시 시나리오 + +- 선착순으로 쿠폰을 발급함. + +이러한 상황에서 Lock 이 걸려있단 것은 누군가 먼저 쿠폰을 발급 받고 있다는 것일 것이다. +따라서 SKIP LOCK를 사용한다면 LOCK이 걸려있는 레코드는 건너뛰어 사용자에게 빠르게 응답을 줄 수 있을 것이다. + +```sql +SELECT id, code FROM coupons +WHERE status = 'available' +FOR UPDATE SKIP LOCKED LIMIT 1; +``` + +LIMIT을 통해 내가 사용할 쿠폰만 LOCK 을 사용한다. + +## CTE (Common Table Expression) + +MySQL 에서는 8.0 부터 추가되었다고 한다. + +쿼리 내에서 일시적인 결과 집합을 정의할 수 있는 기능으로, 복잡한 쿼리에서 가독성을 높이고 반복적인 쿼리 로직을 재사용하는 데 유용하다. + +뷰와 비슷하면서, 재귀를 사용할 수 있다는 차이도 있다. + +예시 1. + +```sql +WITH revenue0(supplier_no, total_revenue) AS ( + SELECT l_suppkey, SUM(l_extendedprice * (1 - l_discount)) + FROM lineitem + WHERE l_shipdate >= '1996-07-01' + AND l_shipdate < DATE_ADD('1996-07-01', INTERVAL '90' DAY) + GROUP BY l_suppkey) +SELECT s_suppkey, s_name, s_address, s_phone, total_revenue +FROM supplier, revenue0 +WHERE s_suppkey = supplier_no + AND total_revenue = (SELECT MAX(total_revenue) FROM revenue0) +ORDER BY s_suppkey; +``` + +출처 : [MySQL 8.0: Improved performance with CTE](https://dev.mysql.com/blog-archive/mysql-8-0-improved-performance-with-cte/) + +예시 2. + +```sql +WITH RECURSIVE EmployeeHierarchy AS ( + -- Anchor member: 최상위 상사 (상사가 없는 CEO) + SELECT employee_id, employee_name, manager_id + FROM employees + WHERE manager_id IS NULL + + UNION ALL + + -- Recursive member: 각 직원에 대해 상사를 찾아가며 하위 직원들 나열 + SELECT e.employee_id, e.employee_name, e.manager_id + FROM employees e + INNER JOIN EmployeeHierarchy eh ON e.manager_id = eh.employee_id +) +SELECT * FROM EmployeeHierarchy; +``` + +## 번외 : 코드 어떻게 실행되는지 시각적으로 보는법 + +CTE 에 대한 글을 찾아보다가 MySQL 공식 블로그에서 다음과 같은 이미지를 볼 수 있었다. + +![visual-explain-example](/assets/images/2024-12-07-mysql-select-query-optimize/visual-explain-example.png) + +이미지 출처 : [MySQL 8.0: Improved performance with CTE](https://dev.mysql.com/blog-archive/mysql-8-0-improved-performance-with-cte/) + +관련해서 찾아보니 MySQL Workbench 제공해주는 VISUAL EXPLAIN 기능이라는 것을 확인하였다. + +잘 사용하면 성능 개선 분석을 할 때 유용하게 사용할 수 있을 것으로 보인다. + +참고링크 : [MySQL Workbench의 VISUAL EXPLAIN으로 인덱스 동작 확인하기](https://engineering.linecorp.com/ko/blog/mysql-workbench-visual-explain-index) diff --git a/assets/images/2024-12-07-mysql-select-query-optimize/count-with-distinct.png b/assets/images/2024-12-07-mysql-select-query-optimize/count-with-distinct.png new file mode 100644 index 0000000000000000000000000000000000000000..127aa0c4663be2a03cd29d518d7c98c3d85220f5 GIT binary patch literal 29449 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Μ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 literal 0 HcmV?d00001 diff --git a/assets/images/2024-12-07-mysql-select-query-optimize/distinct-examples.png b/assets/images/2024-12-07-mysql-select-query-optimize/distinct-examples.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb4037c5aa4fed3b143807a9c91ec3279798b27 GIT binary patch literal 42542 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 z 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 I8o9^(7jVav^8f$< literal 0 HcmV?d00001 diff --git a/assets/images/2024-12-07-mysql-select-query-optimize/mysql-query-execute-flow.png b/assets/images/2024-12-07-mysql-select-query-optimize/mysql-query-execute-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2911fe0abd2b5e0bca696472c1792e57d5734d27 GIT binary patch literal 28249 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 N;uBT5av9@*{|C;SAG81f literal 0 HcmV?d00001 diff --git a/assets/images/2024-12-07-mysql-select-query-optimize/visual-explain-example.png b/assets/images/2024-12-07-mysql-select-query-optimize/visual-explain-example.png new file mode 100644 index 0000000000000000000000000000000000000000..e789391b9d1caf6e01923e1449d7ccdf653c0d1c GIT binary patch literal 48431 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 literal 0 HcmV?d00001