source

MySQL tinyInt에서 인덱싱할 수 있습니까?

itover 2023. 1. 25. 08:34
반응형

MySQL tinyInt에서 인덱싱할 수 있습니까?

저는 페이지를 빨리 로드하려고 노력 중입니다.이 작업을 지원하기 위해 부울 컬럼만을 기준으로 테이블을 조회하고 싶습니다.

이 경우 이 테이블의 비교적 소수의 행에서 이 부울 열이 true로 설정되고 나머지는 false가 됩니다.

데이터베이스는 일반적으로 false를 원할 경우 왼쪽으로, true를 원할 경우 오른쪽으로 이동하여 각각의 프라이머리 키 목록을 표시할 수 있습니까?

물론 색인을 달 수 있습니다.

그런 다음 다음과 같은 쿼리를 실행할 수 있습니다.

SELECT *
FROM mytable
WHERE mybool = 1
AND [another condition here]

추가된 인덱스는 mybool이 1로 설정된 레코드에서만 두 번째 조건이 실행되도록 합니다.이것에 의해 이론적으로는 쿼리가 고속화됩니다(높은 카디널리티를 상정).mybool = 1및 상당한 수의 행).

인덱스를 적절하게 사용하면 읽기 속도가 향상되지만 삽입 중에 인덱스를 업데이트해야 하므로 쓰기 속도가 느려질 수 있습니다.

편집: 요청에 따라 인덱스를 추가하려면:

ALTER TABLE mytable ADD INDEX (mybool)

언급URL : https://stackoverflow.com/questions/26918092/can-i-index-on-a-mysql-tinyint

반응형