id INT AUTOINVREMENT PRIMARY
uid INT index
email CHAR(128) UNIQUE
activated TINYINT
로 열이있는 테이블 (사용자)가 그리고이 같은이 테이블 쿼리해야합니다 :이 이후,
SELECT * FROM users WHERE uid = ? AND activated = 1
내 질문입니다 위의 쿼리에 대해 최상의 성능을 얻으려면 'uid'열에 인덱스를 설정해야합니다. '활성화 된'열에도 다른 인덱스를 설정해야합니까? 이 테이블 (큰 테이블)은 'INSERT', 'UPDATE'문과 'SELECT'문으로 크게 액세스됩니다.
다른 소스에서 '인덱스'가 'INSERT'및 'UPDATE'문과 반대되는 것을 배웠으므로 위의 쿼리에 대해 uid 열의 인덱스로 충분하면 다른 인덱스를 설정할 필요가 없습니다. 활성화 '에 대해 & 업데이트 성능을 삽입하십시오.
필자는 두 열을 모두 인덱싱하는 것이 더 좋을 경우가 아니라면 많은 삽입 또는 업데이트를 가져 오는 열의 인덱스를 사용하는 것이 성능에 미치는 영향에 대해 더 많이 알고 있다고 생각합니다. – catfarm
하나의 인덱스를 2 개의 열 (uid, activated)로 설정하거나 두 개의 인덱스를 하나의 uid에 대해 설정하고 하나를 활성화로 설정 하시겠습니까? – Shawn
@Shawn. 네, 늦게 고쳤습니다, 죄송합니다, 고마워요! – gahooa