2K 레지스터가있는 MySql 테이블 InnoDB
엔진이 있습니다. 처음 두 입력란은 id
이고 INDEX KEY VARCHAR(255)
은 codreg
이라고하는 PRIMARY KEY (AUTO INCREMENT)
입니다.기본 키 대 키 인덱스 속도
내 테이블이 인 경우에만 codreg
이라고합니다.
문제는 새 구성에서 코 드그 (like)를 통한 검색이 유일한 코 드그 구성보다 느립니다.
기본 키 색인이 주요 색인보다 빠릅니까?
이 질문은 내가이 쿼리
SELECT CE.*, GI.* FROM ($_q_aux) CE inner join table2 GI ON GI.codreg=CE.codreg
에게 $ _q_aux을 수행하는 데 성능 문제와 관련이있다 :
SELECT codreg FROM table2 WHERE codreg like '%string%'
표 1은 2K 항목과 표 2 20K 항목입니다
실행 시간이 너무 느립니다.
편집 해 주셔서 감사합니다. 누군가 도와 드릴 수 있습니까? – Hanzo
당신이 사용하는 엔진을 말하지는 않았지만 대답은 - 예, PK는 일반 색인보다 "빠릅니다"입니다. 또한 'LIKE (거짓)'검색은 극히 비효율적이며 어떻게 실행했는지 (효율적이든 아니든간에) 의심 스럽습니다. PK에 대한 varchar를 사용하면 최상의 성능을 내지 못할 가능성이 큽니다. 검색 결과를 최대한 빨리 최적화 할 수 있습니다. 색인 없이도. 2k 항목은 MySQL에 대한 바다의 한 방울입니다. –
InnoDb는 엔진입니다. 실제로 PK는 AUTO INCREMENT입니다. – Hanzo