이 상황에서 어떤 일이 발생하는지 약간 혼란 스럽습니다. SQL Server에 VARCHAR (500)이라는 열이 있습니다. 마이 그 레이션 툴 (MySQL Workbench)은 인덱스를 255로 자릅니다.이 post과 Google의 많은 다른 곳에서 볼 수 있듯이 255가 VARCHAR 기반 인덱스의 한계라고 제안합니다. 이 post here에서 처음 255 자임을 알았습니다. 그러나 나는 그것이 실제로 어떻게 작동하는지 혼란 스럽다. 즉 바보 같은 행운을 빌어 실제 열의 255 포인트 뒤에있는 부분 문자열 ("like"절 사용)을 찾고 있다면 어떻게 될까요? 또는 "=", ">"등을 사용하여 열을 비교하지만 비교 문자열에 255 개 이상을 사용하면 어떻게됩니까? 이런 종류의 상황에서 인덱스를 그냥 무시합니까?마이그레이션 중에 MySQL VARCHAR 인덱스가 255로 잘림
일종의 SQL 서버로 일해온 MySQL의 새로운 기능으로 기대되는 것을 이해하려고합니다. 감사.
감사합니다. "like"부분 문자열이 처음 255 자 ("% FUN % '와 같은 열", "FUN"부분 문자열이 처음 255 자 이내 인 경우)이 아닌 경우 어떻게됩니까? 이 경우 일치하는 행을 반환하지 않거나 테이블 스캔을 수행합니까? – user3329922
'LIKE '% FUN %''을 사용하면 인덱스 크기에 상관없이 인덱스를 전혀 사용할 수없고 어쨌든 테이블 스캔 만 할 수 있습니다. 이 경우 인덱스 제한은 중요하지 않습니다. FULLTEXT 인덱스를 원하십니까? –
고마워, 지금 받았어. 나는 그런 "같은"진술이 어쨌든 인덱스를 사용할 수 없게 될 것이라는 점을 잊어 버렸지 만, 이제는 그것에 대해 생각하는 것이 완전히 이해된다. – user3329922