속도 최적화.MYSQL - 속도 (및 유일한 속도)에 대한 검색 테이블 최적화
카탈로그의 경우 약 150,000 개의 항목이 있습니다. 각 항목 레코드에는 8 개의 검색 필드와 하나의 Json 데이터 문자열이 있습니다. (아니요 : int; 검색 필드는 최대 30 자, JSON 최소 200 : 최대 2000 자)
항목 No는 고유 한 필드이며 다른 모든 필드는 고유하지 않습니다.
No Search1 Search2 ... Search8 JSON_datastring
1 a1 a2 ... a8 {...json...}
2 b1 b2 ... b8 {...json...}
..
x a1 b2 ... c8 {...json...}
사용자는 8 개의 필드 각각을 검색 할 수 있습니다. 그는 전체 필드를 검색 할 수 있습니다 ,
WHERE Search1 = 'x'
분야
WHERE Search1 LIKE 'x%'
의 시작 또는
WHERE Search1 LIKE '%x%'
내 첫 번째 방법은 유지하는 것입니다 분야의 일부 테이블에있는 모든 데이터를 검색하고 각 검색 colomns에 인덱스를 넣습니다. 그러나 더 빠른 방법이 있는지 궁금합니다.
여기서 목표는 가능한 모든 일치하는 JSON_ 데이터 스트림을 얻는 것입니다. '선택'속도 만이 여기에 있습니다 (사용자는 업데이트/삽입/삭제 명령을하지 않습니다). 메모리 또는 디스크 공간이이 프로젝트와 관련성이 거의 없습니다. 카탈로그를 일주일에 한 번만 업데이트해야하므로 가져 오기 및 업데이트 시간도 커지지 않습니다.
나는 MYSQL 데이터베이스로 작업하고 있습니다. 테이블의 데이터는 매주 CSV 파일에서 가져옵니다. MYSQL 데이터베이스를 완벽하게 제어 할 수 있습니다.
검색의 약 60 %가 전체 필드에있을 것으로 예상됩니다. 연간 약 20,000 건의 기록 150,000 개가 현재 기록됩니다. 동시 사용자 수 : 현재 예상치가 없습니다.
검색 속도를 향상시키는 방법에 대한 제안 사항이 있습니까? 저는 아직 프로젝트의 설계 단계에 있습니다.