반응형
MySQL Explain 플랜에서 최적화 된 테이블 선택
의 의미는 무엇입니까?
explain select count(comment_count) from wp_posts;
+----+-------------+---------------------------+-----------------------------+
| id | select_type | table,type,possible_keys, | Extra |
| | | key,key_len,ref,rows | |
+----+-------------+---------------------------+-----------------------------+
| 1 | SIMPLE | all NULLs | Select tables optimized away|
+----+-------------+---------------------------+-----------------------------+
1 row in set (0.00 sec)
참고 : 계획 설명
출력은 가독성을 위해 편집되었습니다.
해결 방법
이는 테이블의 행 수를 계산하는 것 이상을 수행하지 않는 쿼리를 수행했으며 해당 테이블은 MyISAM 테이블임을 의미합니다. MyISAM 테이블은 별도의 행 개수로 저장되므로이 쿼리를 수행하기 위해 MySQL은 테이블 행 데이터를 전혀 볼 필요가 없습니다. 대신 미리 계산 된 행 수를 즉시 반환합니다. 따라서 테이블 액세스가 '최적화'되고 쿼리가 매우 빠릅니다.
InnoDB와 같은 MySQL의 다른 스토리지 엔진에서는 동일하지 않습니다. 그러나 실제로는 다양한 다른 이유로 대부분의 경우 MyISAM이 아닌 InnoDB를 사용하고 싶습니다. (행 수 최적화 없이도 이런 종류의 쿼리는 매우 빠릅니다.)
select count(comment_count) from wp_posts;
그게 당신이 정말로하려는 일입니까? 이는 SELECT COUNT (*) ...
와 동일합니다 ( comment_count
가 NULL
일 수 없다고 가정). 당신은 최적화를 얻지 못했을 것입니다). 총 comment_count
?를 원할 경우 SUM (comment_count)
을 사용해야하며 '최적화 취소'동작을 얻지 못할 것입니다.
참조 페이지 https://stackoverflow.com/questions/1992312
반응형
'MySql' 카테고리의 다른 글
MySQL Windows에서 MySQL 및 Python 용 mysqlDb를 설치하는 방법 (0) | 2020.12.18 |
---|---|
MySQL Where 절에서 문자열 값 가져 오기-MySQL (0) | 2020.12.17 |
MySQL 소수점 이하 두 자리 만 사용하도록 숫자 서식을 지정하려면 어떻게합니까? (0) | 2020.12.17 |
MySQL 날짜 SQL에 2 주 추가 (0) | 2020.12.17 |
MySQL 데이터베이스에서 ID로 PHP MySQL 디스플레이 데이터-자유 배치 (0) | 2020.12.17 |
댓글