쿼리를 짜다보면 두개의 컬럼을 조합하는 조건으로 쿼리를 짜야하는 경우가 있다. 다음과 같이 성과 이름을 조합한 조건값을 조건으로 하였을때 where절 좌변을 concat함수를 통해 두개의 컬럼을 합친 조건을 만들수 가 있다. 그렇지만 이렇경우 index를 탈 수 없는 상황이 발생하게 되어 성능에 큰 영향을 미칠수 있다. 아래와 같이 Plan을 보면 Table scan으로 전체의 row를 읽어 성능이슈가 발생하게 된다. root@localhost:employees 09:14:32>explain format=tree -> select * from employees -> where concat(first_name, ' ', last_name) = 'Bezalel Simmel'; +----------------..
원문링크 : Mysql Fuction Based Index (함수기반인덱스)