1つのテーブル「user」を処理する方法の例を次に示します。
create table users(
user_id int not null auto_increment,
username varchar(50),
primary key(user_id),
index ind_user_username(username)
) engine = XXX;
insert into users(username) select distinct username from user_item_text
alter table user_item_text add user_id integer null
update user_item_text uit join users u on uit.username = u.username
set uit.user_id = u.user_id
alter table user_item_text drop column username
最後を実行する前に、次の手順を追加する必要があるかもしれませんupdate
。
- フィールドにインデックスを追加
user_item_text.username
して、更新の実行を高速化します
users.username
通常のインデックスの代わりに一意のインデックス
user_item_index.user_id
FKが必要です
それが役に立てば幸い。
ps。私はクエリをテストしませんでした。彼らはあなたに一般的なアプローチを示しているだけです。