Оптимизация Sql и удаление старых игроков.
Как удалить старых игроков на которых не заходили более 3ёх недель и как правильно оптимизировать MySQL сервер?
DELETE FROM characters WHERE lastAccess <Нужное время ;
DELETE FROM accounts WHERE lastactive <нужное время ;
Поюзай поиск на базе.Здесь есть темка.
Ну всё таки хочется знать где память выделять под бд...
-- more than ... days
SET @dt = 90;
DELETE FROM accounts WHERE DATEDIFF( CURRENT_DATE( ) , FROM_UNIXTIME( `lastactive` /1000 ) ) > @dt;
DELETE FROM accounts WHERE login NOT IN (SELECT account_name FROM characters);
DELETE FROM account_data WHERE account_name NOT IN (SELECT login FROM accounts);
DELETE FROM characters WHERE account_name NOT IN (SELECT login FROM accounts);
DELETE FROM character_friends WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_hennas WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_macroses WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_quests WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_recipebook WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_shortcuts WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_skills WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_skills_save WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_subclasses WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM character_raid_points WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM clan_data WHERE leader_id NOT IN (SELECT charId FROM characters);
DELETE FROM clan_privs WHERE clan_id NOT IN (SELECT clan_id FROM clan_data);
DELETE FROM clan_skills WHERE clan_id NOT IN (SELECT clan_id FROM clan_data);
UPDATE clan_subpledges SET leader_id = 0 where leader_id NOT IN (SELECT charid from characters);
DELETE FROM pets WHERE item_obj_id NOT IN (SELECT object_id FROM items WHERE owner_id IN (SELECT charId FROM characters));
DELETE FROM items WHERE owner_id NOT IN (SELECT charId FROM characters) AND owner_id NOT IN (SELECT clan_id FROM clan_data);
DELETE FROM seven_signs WHERE charId NOT IN (SELECT charId FROM characters);
UPDATE characters SET clanid = 0, title = "", clan_privs = 0 where clanid NOT IN (SELECT clan_id FROM clan_data);
UPDATE clanhall SET ownerId = 0, paidUntil = 0 where ownerId NOT IN (SELECT clan_id FROM clan_data);
DELETE FROM forums WHERE forum_owner_id NOT IN (SELECT clan_id FROM clan_data) AND forum_owner_id != 0;
DELETE FROM posts WHERE post_ownerid NOT IN (SELECT charId FROM characters);
DELETE FROM topic WHERE topic_ownerid NOT IN (SELECT charId FROM characters);
DELETE FROM olympiad_nobles WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM heroes WHERE charId NOT IN (SELECT charId FROM characters);
DELETE FROM item_attributes WHERE itemId NOT IN (SELECT object_id FROM items);
DELETE FROM siege_clans WHERE clan_id NOT IN (SELECT clan_id FROM clan_data);
DELETE FROM obj_restrictions WHERE obj_Id NOT IN (SELECT charId FROM characters);
DELETE FROM couples WHERE player1Id NOT IN (SELECT charId FROM characters);
DELETE FROM couples WHERE player2Id NOT IN (SELECT charId FROM characters);
