데이터 테이블 인덱스를 생성할 때 몇 가지 문제가 발생했습니다. 도와주세요.
1.
UPDATE 테이블 SET 버전 = 2 WHERE id = ? 그리고 버전 =?
이 문에서 ID는 자동 증가 ID이고 버전은 낙관적 잠금입니다. 이때 버전별로 별도의 인덱스를 생성해야 할지, id와 함께 공동 인덱스를 생성해야 할지, 아니면 인덱스를 생성할 필요가 없을지 결정해야 합니다.
SELECT * FROM 테이블 WHERE a in () AND b =? c DESC
인덱스를 사용하면 안되는 경우가 있는데 어떻게 구축하나요?
SELECT * FROM tabler a = ? AND b < ORDER BY c DESC
색인을 만드는 방법
1. 버전을 별도로 색인화하세요. id는 기본 키이고 고유하므로 인덱싱 효율성이 실제로 가장 높습니다.
2.in은 인덱싱을 활성화할 수 있지만 in이 특정 숫자에 도달하면 실패할 수 있습니다.
3.a와 b는 별도로 인덱싱할 수 있습니다. 아니면 A와 B가 공동 지수를 하든가
일반적인 상황에서는 id 필드에 대한 인덱스만 생성해도 충분합니다.
비즈니스 시나리오에 따라 각 ID가 많이 수정될 것으로 예상되는 경우 ID와 버전에 대한 공동 인덱스를 생성할 수 있습니다.