文章詳情頁
group-by - mysql group by 優(yōu)化的問題
瀏覽:121日期:2022-06-14 17:40:23
問題描述
我有一張接近八千萬條數(shù)據(jù)的彩虹表,然后里面有二十多萬條的重復(fù)數(shù)據(jù),我想使用GROUP BY 進(jìn)行分組,但是使用了GROUP BY語句以后,mysql會生出一張零時(shí)表,而零時(shí)表,把我的硬盤全部沾滿了,所以,求個(gè)辦法,能幫去去處這重復(fù)的數(shù)據(jù)?
我的sql:
sql:
SELECT COUNT(id) FROM password WHERE length = 4 GROUP BY ciphertext
問題解答
回答1:不贊成用一條SQL語句來搞定這類問題,因?yàn)閿?shù)據(jù)庫耗不起。可以用程序來實(shí)現(xiàn)(比如寫個(gè)Python腳本),步驟是這樣的:
把表A(8千萬行)復(fù)制一個(gè)表結(jié)構(gòu),產(chǎn)生一張空表B;
對B的ciphertext列做唯一索引;
遍歷表A的每一行,插入到表B,可以用REPLACE或INSERT INTO ... ON DUPLICATE KEY UPDATE ...
校驗(yàn)表B的數(shù)據(jù),如果結(jié)果正確,則刪除表A,把表B重命名為表A。
相關(guān)文章:
1. sublime text3安裝package control失敗2. wordpress里,這樣的目錄列表是屬于小工具還是啥?3. python如何設(shè)置一個(gè)隨著系統(tǒng)時(shí)間變化的動態(tài)變量?4. 常量在外面不加引號會報(bào)錯(cuò)。5. mysql federated引擎無法開啟6. 一直報(bào)這個(gè)錯(cuò)誤7. mysql - 大部分?jǐn)?shù)據(jù)沒有行溢出的text字段是否需要拆表8. 我的怎么不顯示啊,話說有沒有QQ群什么的9. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?10. MySQL 使用 group by 之后然后 IFNULL(COUNT(*),0) 為什么還是會獲得 null
排行榜

熱門標(biāo)簽