머리말:
저도 최근에 데이터베이스를 사용해 보았는데, 전체 텍스트 검색에 있어서는 일반 기계가 아직 조금 뒤처져 있다는 생각이 들었습니다.
하지만 cmd5 라이브러리는 10억 수준의 데이터베이스, 밀리초 수준으로 매우 훌륭합니다.
좋아요, 먼저 mysql 데이터베이스가 필요합니다.
환경:
apmserv5.2.6 php+mysql Navicat for MySQL
에서는 이 두 가지 소프트웨어를 권장합니다. 설치가 매우 간단하고 둘 다 중국어로 되어 있어 초보자도 쉽게 작동할 수 있습니다.
그밖에 필요한 것은 컴퓨터와 약 10GB의 하드 드라이브 공간입니다. 더 큰 사전.
첫 번째 부분을 시작하겠습니다. Navicat for MySQL 연결을 엽니다. 매우 간단하므로 여기서는 스크린샷을 찍지 않겠습니다.
권장: "mysql 비디오 튜토리얼"
테이블 생성 시작, hash_cmd5, 필드, 일반 텍스트, cmd5_16, cmd5_32
는 모두 비어 있지 않도록 설정되어 있으며 첫 번째는 255, 두 번째는 16이고 세 번째는 32비트입니다.
데이터 가져오기를 시작해보세요. 매우 간단합니다. 그림을 참고해서 직접 알아보세요.
자신의 데이터베이스 소스를 참조하고 인코딩을 설정하세요.
자신의 데이터베이스 콘텐츠를 참조하세요.
네 번째와 다섯 번째 부분을 바로 건너뛰세요.
6번째 단계를 시작하세요. 일반 텍스트만 설정하면 되고 다른 필드는 설정할 필요가 없지만 전제 조건은 데이터베이스에서 찾은 일반 텍스트를 선택하는 것이어야 합니다. 그렇지 않으면 의미가 없습니다.
데이터를 가져오려면 8단계로 바로 이동하세요.
직접 시도해 보겠습니다. 다음 단계는 cmd16 32비트 일괄 생성 방법을 가르치는 것입니다.
고속 단일 테이블 가져오기
가정: 텍스트 파일이 d:aa.txt
테이블 이름: t
필드 이름: c
다음 명령
mysql> load data local infile 'd:/aa.txt' into table cmd5 lines terminated by ',' (cmd5_txt);
다음을 사용하여 32개의 16비트 md5를 생성합니다. one click
update `hash` set cmd5_16 = substr(md5(plaintext), 1, 16) where 1=1 update `hash` set cmd5_32 = md5(plaintext) where 1=1
일부 전문가들은 이 방법이 불안정하다는 등의 평가를 단일 머신에서 테스트했을 때 6억 테이블 하나에 부담이 없다고 합니다.
위 내용은 mysql과 밀리초급 쿼리로 10억급 cmd5 데이터베이스 구축에 대하여(전체과정)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!