데이터베이스에 일부 열이 있는데 대부분 varchar 255입니다. 액세스는 한 번만 수행되지만 로그인 한 사용자에 대한 페이지로드/요청 당 한 번로드됩니다. (대부분 사용자의 취향과 같은 것을 포함합니다).이 열에 인덱스를 만들어야합니까?
제 질문은 이러한 열에 대한 색인을 만들어야합니까, 아니라는 것입니까? 이미 여러 번 사용 된 다른 열의 색인을 얻었습니다.이 색인은 한 번 읽은 다음이 열과 같이 저장됩니다.
데이터베이스에 일부 열이 있는데 대부분 varchar 255입니다. 액세스는 한 번만 수행되지만 로그인 한 사용자에 대한 페이지로드/요청 당 한 번로드됩니다. (대부분 사용자의 취향과 같은 것을 포함합니다).이 열에 인덱스를 만들어야합니까?
제 질문은 이러한 열에 대한 색인을 만들어야합니까, 아니라는 것입니까? 이미 여러 번 사용 된 다른 열의 색인을 얻었습니다.이 색인은 한 번 읽은 다음이 열과 같이 저장됩니다.
정렬 또는 검색에 사용되는 열에 만 인덱스가 필요합니다.
즉. 그들은 JOIN
, WHERE
, HAVING
, GROUP
또는 ORDER BY
절에 나타납니다.
그렇다고해도 반드시 필요한 것은 아닙니다.
대답은 다릅니다 ..... 쿼리 계획에 대해 살펴 봅니다. 인덱스 추가에 도움이 될까요?
귀하의 검색어는 이미 현재 색인에 포함되어있을 수 있습니다.
인덱스를 추가하면 업데이트/삽입 속도가 느려집니다.
나는 열이 select에서 사용되는지 아니면 where 절이나 조인 및 다른 정렬/쿼리 연산에서 사용되는지에 따라 대답이 달라집니다.
후자는 다음 쿼리 내가 잘못 아니에요 경우, 열을 인덱싱하는 것도 사용자 수에 따라 달라집니다 (물론 보통)
인덱스로 빨리 될 경우 전자는, 인덱스가없는 경우 거기에는 각 사용자의 선호도가 있습니다. 예를 들어 1000000 명의 사용자 기본 설정이 저장되어 있다면 색인 생성에 도움이됩니다.