물론 파싱을 줄이기 위해 연속된 값을 사용하며, 기본적으로 in의 범위가 특정 숫자를 초과하면 테이블 전체가 9개 이하로 삭제됩니다
아래 댓글에 답변을 추가하고 싶습니다. 전체 시청 시 상황에 따라 다릅니다. 위 답변은 단지 기억에 기반한 답변이므로 아래층 친구가 더 심각하므로 설명하겠습니다. 여기서 다시 한 번 말씀드리지만, 이는 숫자가 아닌 비율로, 대략 25%~35% 정도 입니다. 얼마인지 궁금하시다면 제 실력으로는 소스코드를 읽어보지 않고는 확인이 불가능해 죄송합니다. . 그리고 비율이 약 30이라고 해서 전체 테이블 스캔을 수행해야 한다는 의미는 아닙니다. 왜냐하면 mysql에도 인덱스 스캔이 있기 때문입니다. 즉, 선택한 콘텐츠를 인덱스에서 찾을 수 있으면 당연히 전체 테이블을 스캔하지 않는다는 뜻입니다. 다음과 같습니다. ttt에서 id를 선택하고(..)에서 *를 선택합니다. 여기서 id는 (...); id 값은 여전히 기본 키 스캔이 되며, 다음 상황은 이 비율의 상황입니다. 자세한 내용은 아래 예를 참조하세요. 수정은 환영합니다^_^ . 사이의 상황이 좋은 이유는 무엇입니까? 는 데이터 조각을 검색하면 그 근처의 데이터도 높은 확률로 사용되는 확률 알고리즘이므로 다중 주소 지정을 피하기 위해 중복된 데이터를 한 번에 꺼내는 상황이 있습니다. 시간 사이에 연속적인 값을 사용하는 것이 적합합니다
물론 파싱을 줄이기 위해 연속된 값을 사용하며, 기본적으로 in의 범위가 특정 숫자를 초과하면 테이블 전체가 9개 이하로 삭제됩니다
아래 댓글에 답변을 추가하고 싶습니다.
으아아아전체 시청 시 상황에 따라 다릅니다. 위 답변은 단지 기억에 기반한 답변이므로 아래층 친구가 더 심각하므로 설명하겠습니다. 여기서 다시 한 번 말씀드리지만, 이는 숫자가 아닌 비율로, 대략 25%~35% 정도 입니다. 얼마인지 궁금하시다면 제 실력으로는 소스코드를 읽어보지 않고는 확인이 불가능해 죄송합니다. . 그리고 비율이 약 30이라고 해서 전체 테이블 스캔을 수행해야 한다는 의미는 아닙니다. 왜냐하면 mysql에도 인덱스 스캔이 있기 때문입니다. 즉, 선택한 콘텐츠를 인덱스에서 찾을 수 있으면 당연히 전체 테이블을 스캔하지 않는다는 뜻입니다. 다음과 같습니다. ttt에서 id를 선택하고(..)에서 *를 선택합니다. 여기서 id는 (...); id 값은 여전히 기본 키 스캔이 되며, 다음 상황은 이 비율의 상황입니다. 자세한 내용은 아래 예를 참조하세요. 수정은 환영합니다^_^
. 사이의 상황이 좋은 이유는 무엇입니까? 는 데이터 조각을 검색하면 그 근처의 데이터도 높은 확률로 사용되는 확률 알고리즘이므로 다중 주소 지정을 피하기 위해 중복된 데이터를 한 번에 꺼내는 상황이 있습니다. 시간 사이에 연속적인 값을 사용하는 것이 적합합니다
데이터베이스의 B-트리 인덱스 저장 구조에 따라 데이터를 가리키는 물리적 주소가 리프 노드에 저장되며, 클러스터형 인덱스가 있을 때 이 물리적 주소가 정렬됩니다.
으아악EXPLAIN mysql 语句
출력 살펴보기between을 사용할 때는 상한과 하한만 일치시키면 되므로 각 in을 다시 읽어야 하므로 전체 테이블 스캔이 발생합니다.