나는 매우 자주 SELECT x, y, z FROM table WHERE x LIKE '%text%' OR y LIKE '%text%' OR z LIKE '%text%'
쿼리를 수행하는 MySQL 테이블을 가지고 있습니다. 어떤 종류의 색인이 일을 빠르게하는 데 도움이 될까요?여러 열에서 MySQL의 SELECT ... LIKE 쿼리 속도를 높이려면 어떻게해야합니까?
테이블에 몇 백만 개의 레코드가 있습니다. 검색 속도를 높이는 요소가 있다면 데이터베이스 파일과 디스크의 사용률에 영향을 미칠 것이며 INSERT
및 DELETE
문장의 속도에 심각하게 영향을 미칩니 까?
업데이트을 (더 UPDATE
는 지금까지 수행되지 않음) : 신속하게 게시 후, 나는 LIKE
쿼리에 사용되는 방법에 대한 정보와 토론을 많이 보았다; 해결책은이어야한다고 지적하고 싶습니다. 즉, 찾고있는 텍스트 앞에 % 와일드 카드를 붙이고 붙입니다. LIKE '%text%'
을 사용해야합니다. 데이터베이스는 또한 보안과 같은 여러 이유로 로컬이어야합니다.
이런 식으로 생각하면 완벽하게 비유 할 수는 없지만 요점을 잘 보여줍니다. 뒷쪽에 단어 색인이있는 책을 생각해보십시오. 단순한 단어 또는 동일한 처음 몇 글자로 시작하는 단어까지 찾으려면 아무런 문제가 없습니다. 그 책 색인을 사용하여 단어의 어느 곳에서든 "exe"문자를 포함하는 모든 단어를 검색하려고 할 때 어떤 일이 일어나는지 생각해보십시오. 색인은 꽤 쓸모가 없다. 그리고 당신은 그 단어를 찾는 실제적인 책을 읽을지도 모른다. 그것은 대략 당신이 mySQL에 부과하고있는 문제점입니다. – JohnFx