group-by - mysql group by 优化的问题
ringa_lee
ringa_lee 2017-04-17 16:31:14
0
1
632

我有一张接近八千万条数据的彩虹表,然后里面有二十多万条的重复数据,我想使用GROUP BY 进行分组,但是使用了GROUP BY语句以后,mysql会生出一张零时表,而零时表,把我的硬盘全部沾满了,所以,求个办法,能帮去去处这重复的数据?

我的sql:

sql:

SELECT COUNT(id) FROM password WHERE length = 4 GROUP BY ciphertext

ringa_lee
ringa_lee

ringa_lee

모든 응답(1)
迷茫

이런 종류의 문제를 해결하기 위해 SQL 문을 사용하는 것은 데이터베이스가 감당할 수 없기 때문에 권장되지 않습니다. 프로그램을 사용하여 구현할 수 있습니다(예: Python 스크립트 작성). 단계는 다음과 같습니다.

  • 테이블 A의 테이블 구조(8천만 행)를 복사하여 빈 테이블 B를 생성합니다.

  • B의 암호문 열에 고유 인덱스를 만듭니다.

  • 테이블 A의 각 행을 탐색하여 테이블 B에 삽입합니다. REPLACE 또는 INSERT INTO ... ON DUPLICATE KEY UPDATE ...를 사용할 수 있습니다. p>

  • 테이블 B의 데이터를 확인합니다. 결과가 정확하면 테이블 A를 삭제하고 테이블 B의 이름을 테이블 A로 변경합니다.

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿