MySQL 파이프 라인 주문이 작동하지 않는 것 같습니다.

사용자 3625393

색인 [status, name, id]이있는 테이블 user [id, name, status]가 있습니다.

SELECT *
FROM user
WHERE status = 'active'
ORDER BY name, id
LIMIT 50

상태 == '활성'인 약 50000 명의 사용자가 있습니다.

1.) MySQL Explain이 ROWS 열에 약 50000을 표시하는 이유는 무엇입니까? 인덱스 열이 order by 절과 같더라도 모든 리프 노드를 따르는 이유는 무엇입니까?

2.) order by 조항을 다음과 같이 변경하는 경우

ORDER BY status, name, id

Explain 절의 EXTRA 열은 다음을 표시합니다.

색인 조건 사용; 어디에 사용; 파일 정렬 사용

이 쿼리에서 인덱스 순서를 사용할 수없는 이유가 있습니까?

edit1 :

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `status_name_id` (`status`,`name`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

질문:

SELECT *
FROM `user`
WHERE status = 'complete'
ORDER BY status, name, id
LIMIT 50

설명:

id: 1
select_type: SIMPLE
table: f_order
type: ref
possible_keys: status_name_id
key: status_name_id
key_len: 768
ref: const
rows: 50331
Extra: "Using where; Using index; Using filesort"

가장 이상한 점은 SELECT 문을 다음과 같이 변경하면

SELECT *, count(id)

인덱스를 다시 사용하고 쿼리가 두 배 더 빠릅니다. 그리고 추가 섹션에는

Using where; Using index

테이블에는 10 만 개의 행, 5 개의 서로 다른 상태 및 12 개의 서로 다른 이름이 있습니다.

MySQL : 5.6.27

edit2 :

다른 예시:

400ms (avg)가 걸리며 명시 적 정렬을 수행합니다.

SELECT *
FROM `user`
WHERE status IN('complete')
ORDER BY status, name, id
LIMIT 50

이것은 2ms (avg)가 걸리며 명시 적으로 정렬하지 않습니다.

SELECT *
FROM `user`
WHERE status IN('complete', 'something else')
ORDER BY status, name, id
LIMIT 50
사용자 3625393

의견에 따르면 아마도 버그 일 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

MySQL 왼쪽 조인이 작동하지 않는 것 같습니다.

분류에서Dev

Z- 색인이 작동하지 않는 것 같습니다.

분류에서Dev

내부 조인 문이 작동하지 않는 것 같습니다.

분류에서Dev

MySQL UNION이 제대로 작동하지 않는 것 같습니다.

분류에서Dev

내 .PHP 파일이 작동하지 않는 것 같습니다.

분류에서Dev

Try / Catch 문이 작동하지 않는 것 같습니다.

분류에서Dev

USB가 작동하지 않지만 드라이버 및 장치 관리자는 정상인 것 같습니다.

분류에서Dev

ScrollFire 플러그인이 작동하지 않는 것 같습니다.

분류에서Dev

ScrollFire 플러그인이 작동하지 않는 것 같습니다.

분류에서Dev

간단한 KnockoutJS 바인딩이 작동하지 않는 것 같습니다.

분류에서Dev

Docker 포트 바인딩이 작동하지 않는 것 같습니다.

분류에서Dev

Eloquent Simple Relationship이 작동하지 않는 것 같습니다

분류에서Dev

Electron, IPC 통신이 작동하지 않는 것 같습니다.

분류에서Dev

Angular : @input이 작동하지 않는 것 같습니다.

분류에서Dev

Spring Batch-beforeJob이 작동하지 않는 것 같습니다.

분류에서Dev

RedirectToAction이 작동하지 않는 것 같습니다.

분류에서Dev

RedirectToAction이 작동하지 않는 것 같습니다.

분류에서Dev

.className ()이 작동하지 않는 것 같습니다.

분류에서Dev

MaxLength = "255"속성이 작동하지 않는 것 같습니다.

분류에서Dev

DensityPixel이 ImageButton에서 작동하지 않는 것 같습니다.

분류에서Dev

글꼴이 작동하지 않는 것 같습니다

분류에서Dev

python3 chdir ()이 작동하지 않는 것 같습니다.

분류에서Dev

Git Python이 작동하지 않는 것 같습니다.

분류에서Dev

정렬이 작동하지 않는 것 같습니다.

분류에서Dev

WPF TextBlock.IsHitTestVisible이 작동하지 않는 것 같습니다.

분류에서Dev

SqlConnection 풀링이 작동하지 않는 것 같습니다.

분류에서Dev

Hibernate HQL NOT IN 절이 작동하지 않는 것 같습니다.

분류에서Dev

dirname이 xargs에서 작동하지 않는 것 같습니다.

분류에서Dev

Htaccess rewriterule이 작동하지 않는 것 같습니다.

Related 관련 기사

  1. 1

    MySQL 왼쪽 조인이 작동하지 않는 것 같습니다.

  2. 2

    Z- 색인이 작동하지 않는 것 같습니다.

  3. 3

    내부 조인 문이 작동하지 않는 것 같습니다.

  4. 4

    MySQL UNION이 제대로 작동하지 않는 것 같습니다.

  5. 5

    내 .PHP 파일이 작동하지 않는 것 같습니다.

  6. 6

    Try / Catch 문이 작동하지 않는 것 같습니다.

  7. 7

    USB가 작동하지 않지만 드라이버 및 장치 관리자는 정상인 것 같습니다.

  8. 8

    ScrollFire 플러그인이 작동하지 않는 것 같습니다.

  9. 9

    ScrollFire 플러그인이 작동하지 않는 것 같습니다.

  10. 10

    간단한 KnockoutJS 바인딩이 작동하지 않는 것 같습니다.

  11. 11

    Docker 포트 바인딩이 작동하지 않는 것 같습니다.

  12. 12

    Eloquent Simple Relationship이 작동하지 않는 것 같습니다

  13. 13

    Electron, IPC 통신이 작동하지 않는 것 같습니다.

  14. 14

    Angular : @input이 작동하지 않는 것 같습니다.

  15. 15

    Spring Batch-beforeJob이 작동하지 않는 것 같습니다.

  16. 16

    RedirectToAction이 작동하지 않는 것 같습니다.

  17. 17

    RedirectToAction이 작동하지 않는 것 같습니다.

  18. 18

    .className ()이 작동하지 않는 것 같습니다.

  19. 19

    MaxLength = "255"속성이 작동하지 않는 것 같습니다.

  20. 20

    DensityPixel이 ImageButton에서 작동하지 않는 것 같습니다.

  21. 21

    글꼴이 작동하지 않는 것 같습니다

  22. 22

    python3 chdir ()이 작동하지 않는 것 같습니다.

  23. 23

    Git Python이 작동하지 않는 것 같습니다.

  24. 24

    정렬이 작동하지 않는 것 같습니다.

  25. 25

    WPF TextBlock.IsHitTestVisible이 작동하지 않는 것 같습니다.

  26. 26

    SqlConnection 풀링이 작동하지 않는 것 같습니다.

  27. 27

    Hibernate HQL NOT IN 절이 작동하지 않는 것 같습니다.

  28. 28

    dirname이 xargs에서 작동하지 않는 것 같습니다.

  29. 29

    Htaccess rewriterule이 작동하지 않는 것 같습니다.

뜨겁다태그

보관