>  Q&A  >  본문

MySQL 테이블 인덱스 문제 도움말

데이터 테이블 인덱스를 생성할 때 몇 가지 문제가 발생했습니다. 도와주세요.

1.

UPDATE 테이블 SET 버전 = 2 WHERE id = ? 그리고 버전 =?

이 문에서 ID는 자동 증가 ID이고 버전은 낙관적 잠금입니다. 이때 버전별로 별도의 인덱스를 생성해야 할지, id와 함께 공동 인덱스를 생성해야 할지, 아니면 인덱스를 생성할 필요가 없을지 결정해야 합니다.

  1. SELECT * FROM 테이블 WHERE a in () AND b =? c DESC

로 주문하세요

인덱스를 사용하면 안되는 경우가 있는데 어떻게 구축하나요?

  1. SELECT * FROM tabler a = ? AND b < ORDER BY c DESC

색인을 만드는 방법

高洛峰高洛峰2659일 전780

모든 응답(2)나는 대답할 것이다

  • 淡淡烟草味

    淡淡烟草味2017-06-10 09:51:40

    1. 버전을 별도로 색인화하세요. id는 기본 키이고 고유하므로 인덱싱 효율성이 실제로 가장 높습니다.
    2.in은 인덱싱을 활성화할 수 있지만 in이 특정 숫자에 도달하면 실패할 수 있습니다.
    3.a와 b는 별도로 인덱싱할 수 있습니다. 아니면 A와 B가 공동 지수를 하든가

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-10 09:51:40

    일반적인 상황에서는 id 필드에 대한 인덱스만 생성해도 충분합니다.
    비즈니스 시나리오에 따라 각 ID가 많이 수정될 것으로 예상되는 경우 ID와 버전에 대한 공동 인덱스를 생성할 수 있습니다.

    회신하다
    0
  • 취소회신하다