나는 like
조건을 사용하는 쿼리를 가지고 있고 이 BTW 내 표는 약 120K 행이 (이 쿼리 내가 느린 쿼리 로그에 자주 무엇을 얻을) 내 서버 를 죽이고 - 행복은 구문 오류를 ignorFULLTEXT 인덱스 추가 : 이전 데이터를 인덱싱 할 예정입니까?
select * from `images` where `category` like `%,3,%` and (`tags` like '%,tag1,%' or `tags` like '%,tag2,%' or `tags` like '%,tag3,%' or `tags` like '%,tag4,%')
나는 이제 myisam으로 전환하고 tags
열에 대한 전체 텍스트 색인을 사용하기로 결정했습니다.
서버 부하가 그다지 변하지 않았기 때문에 mysql은 여전히 90 %의 CPU (저주의 8 개 중 1 개)를 사용하고 있습니다.
그래서이 전체 텍스트 색인 생성 ...이 색인을 추가하기 전에 이전 데이터를 색인 할 것입니까? 사촌은 매우 빨리 일어나고 내 테이블은 좀 크다.
또는 새로 저장된 데이터에서만 작동합니까?
미안 해요, 난'태그'으로 구분된다 .. 쿼리를 업데이트했습니다 ... 그래서 당신은 내가 어디에 태그 '%, tag1로처럼> = 함께 가야 전체 텍스트 작업을 위해 말 , '? – max
분명히 문제를 조사한 후에 MySQL은이 영역에서 Postgres보다 훨씬 능력이 떨어집니다 ... http://makandracards.com/makandra/13693-customize-tokenization-of-the-mysql-fulltext-parser를 참조하십시오.', '구분 기호를 사용하지 않거나 MySQL에 C 플러그인을 작성하지 않도록 행을 변경해야합니다 (제안되지 않음). 내 대답을 업데이트 할게. – Pyrce