mysql에서 컬럼 타입에서 varchar이 char보다 검색속도가 떨어진다길래 char을 사용할까 합니다.
그래서 혹시 password_hash에서 PASSWORD_DEFAULT로 암호화를 하면
무엇이든 글자수가 60으로 나오길래 char(60)을 할까 생각중입니다.
원래는 varchar(255)를 사용중이었습니다.
혹시 char(60)으로 줄이면 따로 문제가 생길까 질문남겨봅니다
mysql에서 컬럼 타입에서 varchar이 char보다 검색속도가 떨어진다길래 char을 사용할까 합니다.
그래서 혹시 password_hash에서 PASSWORD_DEFAULT로 암호화를 하면
무엇이든 글자수가 60으로 나오길래 char(60)을 할까 생각중입니다.
원래는 varchar(255)를 사용중이었습니다.
혹시 char(60)으로 줄이면 따로 문제가 생길까 질문남겨봅니다
password는 검색에 사용하는 컬럼이 아니므로 속도 차이는 아무 의미 없습니다.
이 경우에는 길이가 일정한 문자열이므로 char가 varchar보다 1바이트 절약되겠지만,
만약 길이가 일정하지 않은 컬럼을 char로 지정한다면
용량이 몇 배나 늘어나서 검색 속도가 오히려 느려질 수도 있습니다.
또한 나중에 더 좋은 암호화 알고리즘이 나와서 코어의 기본값이 바뀔 경우
코어에서 관리하는 테이블의 컬럼 속성을 임의로 바꿔놓았다면 문제가 될 수 있습니다.
반면, 길이가 일정하며 검색이나 정렬에도 많이 사용하는 regdate, last_update 등의 컬럼은
라이믹스를 신규 설치할 경우 varchar(14)가 아닌 char(14)로 생성하고 있으니
만약 예전에 설치하여 varchar(14)로 되어 있다면 char(14)로 변경하셔도 무방합니다.