2013年8月23日 星期五

刪除玩家人物後,如何完整的將剩餘資料從db中完整消除避免db的肥大!

1.打開SQL程式、開啟資料庫之後,按F6就會跳出一個提示字元的控制介面!

2.請再提示字元(>)右邊將小妹PO上來的部分複製、貼上,然後記得將每個指令集的[中文用途說明]刪除。

3.最後按下ENTER就可以了。




以下指令:
(執行命令之前記得將每個指令集的[中文用途說明]刪除)

--刪除低於Lv??級的人物(下面敘述中??請自行代入要刪除的等級)←這ㄍ就是用途說明記得刪除這行。
DELETE characters.* FROM `characters` WHERE `level` < '??';


--把沒有人物的空帳號清除
DELETE accounts.* from accounts
left join characters on accounts.login=characters.account_name
where characters.account_name is null;


--清除已被刪掉空角色的好友表單
DELETE character_buddys.* from character_buddys
left join characters on character_buddys.char_id=characters.objid
where characters.objid is null;
DELETE character_buddys.* from character_buddys
left join characters on character_buddys.buddy_id=characters.objid
where characters.objid is null;


--清除已刪掉人物的魔法狀態 
DELETE character_buff.* from character_buff
left join characters on character_buff.char_obj_id=characters.objid
where characters.objid is null;


--清除已刪掉人物的身上物品資料 
DELETE character_items.* from character_items
left join characters on character_items.char_id=characters.objid
where characters.objid is null;


--清除已刪掉人物的任務資料 
DELETE character_quests.* from character_quests
left join characters on character_quests.char_id=characters.objid
where characters.objid is null;


--清除已刪掉人物的技能 
DELETE character_skills.* from character_skills
left join characters on character_skills.char_obj_id=characters.objid
where characters.objid is null;


--清除已刪掉人物的記憶座標 
DELETE character_teleport.* from character_teleport
left join characters on character_teleport.char_id=characters.objid
where characters.objid is null;


--把空帳號的倉庫刪掉(這裡請注意,只是針對沒有人物的空帳號起作用。) 
DELETE character_warehouse.* from character_warehouse
left join accounts on character_warehouse.account_name=accounts.login
where accounts.login is null;


--清除已經不存在的寵物(只用這個命令之前請玩家將存放於倉庫保管的項圈取出,否則會使倉庫的項圈變成白項圈喔。) 
DELETE pets.* from pets
left join character_items on pets.item_obj_id=character_items.id
where character_items.id is null;


--清除空血盟 
DELETE clan_data.* from clan_data
left join characters on clan_data.leader_id=characters.objid
where characters.objid is null;


--清除空血盟倉庫 
DELETE clan_warehouse.* from clan_warehouse
left join clan_data on clan_warehouse.clan_name=clan_data.clan_name
where clan_data.clan_name is null;



原出處 http://bbs.djorz.com/t153626.html 妞子媽咪

沒有留言:

張貼留言