MySQL의 가장 왼쪽 원칙은 쿼리 과정에서 인덱스의 가장 왼쪽 열이 필터링에 최대한 참여해야 한다는 의미입니다. 인덱스 사용의 효율성을 극대화하고 쿼리 속도를 높일 수 있는 데이터베이스 인덱스 최적화의 핵심 아이디어 중 하나입니다. 가장 왼쪽 원칙은 전체 테이블 스캔과 같은 비효율적인 작업을 방지하고, 데이터베이스가 대규모 데이터 세트를 더 빠르게 처리할 수 있도록 하며, 데이터베이스 테이블 구조 및 인덱스를 더 효과적으로 설계하는 데 도움이 되며, 시스템 성능을 향상시킵니다.
이 튜토리얼의 운영 체제: Windows 10 시스템, mysql 버전 8.0, Dell G3 컴퓨터.
MySQL 가장 왼쪽 원칙은 데이터베이스 인덱스 최적화의 핵심 아이디어 중 하나입니다. 쿼리 프로세스 중에 인덱스의 가장 왼쪽 열("접두사"라고도 함)을 최대한 필터링에 참여시키는 것을 의미합니다. 이를 통해 인덱스 사용 효율성을 극대화하고 쿼리 속도를 높일 수 있습니다.
다음은 예시입니다.
SELECT * FROM table_name WHERE column1 = 'value1' AND column2 = 'value2'
이 쿼리에서는 공동 인덱스(column1,column2)가 있는 경우 가장 왼쪽 원칙에 따라 필터링에 컬럼1이 먼저 사용됩니다. 컬럼1의 값이 성공적으로 일치하는 경우에만 추가 필터링을 위해 컬럼2의 값이 참조됩니다.
그러나 쿼리에 컬럼 2만 있고 컬럼 1은 없으면 결합 인덱스가 작동하지 않습니다.
가장 왼쪽 원칙은 전체 테이블 스캔과 같은 비효율적인 작업을 방지하여 데이터베이스가 대규모 데이터 세트를 더 빠르게 처리할 수 있도록 도와줍니다. 동시에 데이터베이스 테이블 구조와 인덱스를 더 잘 설계하고 시스템 성능을 향상시키는 데도 도움이 됩니다.
가장 왼쪽 일치 원칙
MySQL의 인덱스는 특정 순서로 여러 열을 참조할 수 있습니다. 이러한 종류의 인덱스를 공동 인덱스라고 합니다.
우리 모두는 그렇습니다. 인덱스의 최하위 레이어가 B+ 트리이므로 당연히 조인트 인덱스는 여전히 B+ 트리이지만, 조인트 인덱스의 키 값의 개수는 하나가 아니라 여러 개입니다. B+ 트리는 하나의 값을 기준으로만 구축할 수 있으므로 데이터베이스는 결합 인덱스의 가장 왼쪽 필드를 기반으로 B+ 트리를 구축합니다.
예: (a, b)의 결합 인덱스를 생성하면 해당 인덱스 트리는 다음과 같습니다. a의 값은 1, 1, 2, 2, 3, 3입니다. , b의 값은 순서대로 1, 2, 1, 4, 1, 2이다. 따라서 b = 2와 같은 쿼리 조건에는 인덱스를 사용할 방법이 없습니다. 왜냐하면 결합 인덱스는 먼저 a를 기준으로 정렬되고 b는 정렬되지 않기 때문입니다.
동시에, a 값이 동일할 때 b 값이 순서대로 정렬되지만 이 순서는 상대적이라는 것도 알 수 있습니다. 따라서 범위 쿼리가 발생하면 가장 왼쪽 일치 원칙이 중지되고 나머지 필드는 인덱스를 사용할 수 없습니다. 예를 들어, a = 1 및 b = 2인 경우 a 및 b 필드 모두 인덱스를 사용할 수 있습니다. 왜냐하면 a 값이 결정될 때 b는 상대적으로 정렬되기 때문이고, a>1 및 b=2인 경우 a 필드는 인덱스와 일치할 수 있지만 b 값 아니요. a의 값은 범위이고 b는 이 범위에서 순서가 지정되지 않기 때문입니다.
장점: 가장 왼쪽 접두사 원칙을 활용하면 쿼리 효율성도 크게 향상시킬 수 있으며 일반적인 MySQL 성능 최적화 방법입니다.
위 내용은 mysql의 가장 왼쪽 원칙은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
