MySQL 被り・重複レコードの除去@雛計画

人工無脳用の対話データを収集していますが、被るデータが大量に出ています。

重複レコードをそのまま放置してても無駄に肥満化するだけなので、お掃除してあげます。

—————————————————————–
対話データテーブル名:talkdata
一時退避先テーブル名:temp
—————————————————————–

退避先の空テーブルをコピーして作成
create table temp like talkdata

tempへ重複レコードを除去しつつコピー
insert into temp select distinct * from talkdata;

対話データテーブルを空にする
truncate talkdata

tempから対話データテーブルにコピー
insert into talkdata select * from temp;

—————————————————————–
重複データ除去おわり。カラムの指定とかもできます。が、必要ないのでやってないです。
ユニークを一つだけ残してくれるのでとってもありがたい。

取得データの登録時に重複チェックをやればいいのですが、データ取得毎にチェックしてたら鈍亀になるので上記の定期除去にしました。
ローカルで稼働させてる現状、レコード数が数十万程度じゃやってもやらなくてもあんまり変わらなかったりしますが。

↑と全く関係ないけど、on duplicate key update とか地味に便利。
趣味でやる分には、思うように動けばいいんです。

参考:重複行を除外(ALL, DISTINCT) – データの取得 – MySQLの使い方

以下久しぶりの対話抜粋

ボルトのくだりは奇跡の返答。

現状、対話学習はセミオートなので、完全自律してるわけじゃないのです。
学習スピードはスロー。とは言えユニークデータで10万突破しました。
100万くらい行ったらどうなるか楽しみ半分、何も変わらないかもしれない不安が半分。

Post comment


コメントは承認制です。すぐには表示されません。