From df11ca996915d49ff1286622fa85e30f0a45568e Mon Sep 17 00:00:00 2001
From: MELERIX <MELERIX@users.noreply.github.com>
Date: Fri, 10 Feb 2012 01:26:25 +0000
Subject: [PATCH] BETA: More Indexes for [8337].

---
 .../game/character_offline_trade_items.sql    |  4 ++-
 .../dist/sql/game/character_premium_items.sql |  3 +-
 L2J_DataPack_BETA/dist/sql/game/clan_data.sql |  3 +-
 .../dist/sql/game/cursed_weapons.sql          |  3 +-
 L2J_DataPack_BETA/dist/sql/game/fort.sql      |  3 +-
 L2J_DataPack_BETA/dist/sql/game/forums.sql    |  3 +-
 L2J_DataPack_BETA/dist/sql/game/pets.sql      | 25 ++++++++-------
 L2J_DataPack_BETA/dist/sql/game/posts.sql     |  3 +-
 .../sql/game/rainbowsprings_attacker_list.sql |  3 +-
 .../dist/sql/game/siegable_clanhall.sql       |  3 +-
 .../game/siegable_hall_flagwar_attackers.sql  | 12 ++++---
 ...iegable_hall_flagwar_attackers_members.sql |  9 ++++--
 L2J_DataPack_BETA/dist/sql/game/teleport.sql  |  3 +-
 .../dist/sql/game/updates/20110906update.sql  | 32 ++++++++++++++++++-
 14 files changed, 78 insertions(+), 31 deletions(-)

diff --git a/L2J_DataPack_BETA/dist/sql/game/character_offline_trade_items.sql b/L2J_DataPack_BETA/dist/sql/game/character_offline_trade_items.sql
index fd460f42cf..c25e3ebb99 100644
--- a/L2J_DataPack_BETA/dist/sql/game/character_offline_trade_items.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/character_offline_trade_items.sql
@@ -2,5 +2,7 @@ CREATE TABLE IF NOT EXISTS `character_offline_trade_items` (
   `charId` int(10) unsigned NOT NULL,
   `item` int(10) unsigned NOT NULL DEFAULT '0', -- itemId(for buy) & ObjectId(for sell)
   `count` bigint(20) unsigned NOT NULL DEFAULT '0',
-  `price` bigint(20) unsigned NOT NULL DEFAULT '0'
+  `price` bigint(20) unsigned NOT NULL DEFAULT '0',
+  KEY `charId` (`charId`),
+  KEY `item` (`item`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/character_premium_items.sql b/L2J_DataPack_BETA/dist/sql/game/character_premium_items.sql
index a1ccc0c342..10871c4355 100644
--- a/L2J_DataPack_BETA/dist/sql/game/character_premium_items.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/character_premium_items.sql
@@ -5,5 +5,6 @@ CREATE TABLE IF NOT EXISTS `character_premium_items` (
   `itemCount` bigint(20) unsigned NOT NULL,
   `itemSender` varchar(50) NOT NULL,
   KEY `charId` (`charId`),
-  KEY `itemNum` (`itemNum`)
+  KEY `itemNum` (`itemNum`),
+  KEY `itemId` (`itemId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/clan_data.sql b/L2J_DataPack_BETA/dist/sql/game/clan_data.sql
index 2e2129e311..e123fcfbd6 100644
--- a/L2J_DataPack_BETA/dist/sql/game/clan_data.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/clan_data.sql
@@ -16,6 +16,7 @@ CREATE TABLE IF NOT EXISTS `clan_data` (
   `char_penalty_expiry_time` bigint(13) unsigned NOT NULL DEFAULT '0',
   `dissolving_expiry_time` bigint(13) unsigned NOT NULL DEFAULT '0',
   PRIMARY KEY (`clan_id`),
+  KEY `ally_id` (`ally_id`),
   KEY `leader_id` (`leader_id`),
-  KEY `ally_id` (`ally_id`)
+  KEY `auction_bid_at` (`auction_bid_at`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/cursed_weapons.sql b/L2J_DataPack_BETA/dist/sql/game/cursed_weapons.sql
index 008ec0ff15..440c20ceb0 100644
--- a/L2J_DataPack_BETA/dist/sql/game/cursed_weapons.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/cursed_weapons.sql
@@ -5,5 +5,6 @@ CREATE TABLE IF NOT EXISTS `cursed_weapons` (
   `playerPkKills` INT DEFAULT 0,
   `nbKills` INT DEFAULT 0,
   `endTime` bigint(13) unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`itemId`)
+  PRIMARY KEY (`itemId`),
+  KEY `charId` (`charId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/fort.sql b/L2J_DataPack_BETA/dist/sql/game/fort.sql
index 64af9d2f13..f3c8357657 100644
--- a/L2J_DataPack_BETA/dist/sql/game/fort.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/fort.sql
@@ -9,7 +9,8 @@ CREATE TABLE IF NOT EXISTS `fort` (
   `castleId` int(1) NOT NULL default 0,
   `blood` int(3) NOT NULL default 0,
   `supplyLvL` int(2) NOT NULL default 0,
-  PRIMARY KEY (`id`)
+  PRIMARY KEY (`id`),
+  KEY `owner` (`owner`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 INSERT IGNORE INTO `fort` VALUES 
diff --git a/L2J_DataPack_BETA/dist/sql/game/forums.sql b/L2J_DataPack_BETA/dist/sql/game/forums.sql
index 93c0d358f4..287b68604a 100644
--- a/L2J_DataPack_BETA/dist/sql/game/forums.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/forums.sql
@@ -6,7 +6,8 @@ CREATE TABLE IF NOT EXISTS `forums` (
   `forum_type` int(8) NOT NULL default '0',
   `forum_perm` int(8) NOT NULL default '0',
   `forum_owner_id` int(8) NOT NULL default '0',
-  UNIQUE KEY `forum_id` (`forum_id`)
+  PRIMARY KEY (`forum_id`),
+  KEY `forum_owner_id` (`forum_owner_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 INSERT IGNORE INTO `forums` VALUES
diff --git a/L2J_DataPack_BETA/dist/sql/game/pets.sql b/L2J_DataPack_BETA/dist/sql/game/pets.sql
index 87d0326e69..b174cf8f20 100644
--- a/L2J_DataPack_BETA/dist/sql/game/pets.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/pets.sql
@@ -1,13 +1,14 @@
-CREATE TABLE IF NOT EXISTS `pets` (
-  `item_obj_id` int(10) unsigned NOT NULL,
-  `name` varchar(16),
-  `level` smallint(2) unsigned NOT NULL,
-  `curHp` int(9) unsigned DEFAULT '0',
-  `curMp` int(9) unsigned DEFAULT '0',
-  `exp` bigint(20) unsigned DEFAULT '0',
-  `sp` int(10) unsigned DEFAULT '0',
-  `fed` int(10) unsigned DEFAULT '0',
-  `ownerId` int(10) NOT NULL DEFAULT '0',
-  `restore` enum('true','false') NOT NULL DEFAULT 'false',
-  PRIMARY KEY (`item_obj_id`)
+CREATE TABLE IF NOT EXISTS `pets` (
+  `item_obj_id` int(10) unsigned NOT NULL,
+  `name` varchar(16),
+  `level` smallint(2) unsigned NOT NULL,
+  `curHp` int(9) unsigned DEFAULT '0',
+  `curMp` int(9) unsigned DEFAULT '0',
+  `exp` bigint(20) unsigned DEFAULT '0',
+  `sp` int(10) unsigned DEFAULT '0',
+  `fed` int(10) unsigned DEFAULT '0',
+  `ownerId` int(10) NOT NULL DEFAULT '0',
+  `restore` enum('true','false') NOT NULL DEFAULT 'false',
+  PRIMARY KEY (`item_obj_id`),
+  KEY `ownerId` (`ownerId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/posts.sql b/L2J_DataPack_BETA/dist/sql/game/posts.sql
index 0153b6973e..6123cba370 100644
--- a/L2J_DataPack_BETA/dist/sql/game/posts.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/posts.sql
@@ -5,5 +5,6 @@ CREATE TABLE IF NOT EXISTS `posts` (
   `post_date` bigint(13) unsigned NOT NULL DEFAULT '0',
   `post_topic_id` int(8) NOT NULL default '0',
   `post_forum_id` int(8) NOT NULL default '0',
-  `post_txt` text NOT NULL
+  `post_txt` text NOT NULL,
+  KEY `post_forum_id` (`post_forum_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/rainbowsprings_attacker_list.sql b/L2J_DataPack_BETA/dist/sql/game/rainbowsprings_attacker_list.sql
index 855bcb0475..bd3b5c7480 100644
--- a/L2J_DataPack_BETA/dist/sql/game/rainbowsprings_attacker_list.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/rainbowsprings_attacker_list.sql
@@ -1,4 +1,5 @@
 CREATE TABLE IF NOT EXISTS `rainbowsprings_attacker_list` (
   `clanId` int(10) DEFAULT NULL,
-  `war_decrees_count` double(20,0) DEFAULT NULL
+  `war_decrees_count` double(20,0) DEFAULT NULL,
+  KEY `clanid` (`clanid`),
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/siegable_clanhall.sql b/L2J_DataPack_BETA/dist/sql/game/siegable_clanhall.sql
index ce9028ef14..7c00fa34c3 100644
--- a/L2J_DataPack_BETA/dist/sql/game/siegable_clanhall.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/siegable_clanhall.sql
@@ -15,7 +15,8 @@ CREATE TABLE IF NOT EXISTS `siegable_clanhall` (
   `nextSiege` bigint(20) DEFAULT NULL,
   `siegeLenght` int(10) DEFAULT NULL,
   `schedule_config` varchar(20) DEFAULT NULL, 
-  PRIMARY KEY (`clanHallId`)
+  PRIMARY KEY (`clanHallId`),
+  KEY `ownerId` (`ownerId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 INSERT IGNORE INTO `siegable_clanhall` (`clanHallId`, `name`, `ownerId`, `desc`, `location`, `nextSiege`, `siegeLenght`, `schedule_config`) VALUES
diff --git a/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers.sql b/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers.sql
index bd52bff79e..e32f053b90 100644
--- a/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers.sql
@@ -1,7 +1,9 @@
 CREATE TABLE IF NOT EXISTS `siegable_hall_flagwar_attackers` (
-`hall_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
-`flag` int(10) unsigned NOT NULL DEFAULT '0',
-`npc` int(10) unsigned NOT NULL DEFAULT '0',
-`clan_id` int(10) unsigned NOT NULL DEFAULT '0',
-PRIMARY KEY (`flag`)
+  `hall_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
+  `flag` int(10) unsigned NOT NULL DEFAULT '0',
+  `npc` int(10) unsigned NOT NULL DEFAULT '0',
+  `clan_id` int(10) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`flag`),
+  KEY `hall_id` (`hall_id`),
+  KEY `clan_id` (`clan_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers_members.sql b/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers_members.sql
index 5a247762bb..1439bfc65b 100644
--- a/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers_members.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/siegable_hall_flagwar_attackers_members.sql
@@ -1,5 +1,8 @@
 CREATE TABLE IF NOT EXISTS `siegable_hall_flagwar_attackers_members` (
-`hall_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
-`clan_id` int(10) unsigned NOT NULL DEFAULT '0',
-`object_id` int(10) unsigned NOT NULL DEFAULT '0'
+  `hall_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
+  `clan_id` int(10) unsigned NOT NULL DEFAULT '0',
+  `object_id` int(10) unsigned NOT NULL DEFAULT '0',
+  KEY `hall_id` (`hall_id`),
+  KEY `clan_id` (`clan_id`),
+  KEY `object_id` (`object_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/teleport.sql b/L2J_DataPack_BETA/dist/sql/game/teleport.sql
index 81efd4629e..87f468424f 100644
--- a/L2J_DataPack_BETA/dist/sql/game/teleport.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/teleport.sql
@@ -8,7 +8,8 @@ CREATE TABLE `teleport` (
   `price` int(10) unsigned DEFAULT NULL,
   `fornoble` tinyint(1) NOT NULL DEFAULT '0',
   `itemId` smallint(5) unsigned NOT NULL DEFAULT '57',
-  PRIMARY KEY (`id`)
+  PRIMARY KEY (`id`),
+  KEY `itemId` (`itemId`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
 INSERT INTO `teleport` VALUES
diff --git a/L2J_DataPack_BETA/dist/sql/game/updates/20110906update.sql b/L2J_DataPack_BETA/dist/sql/game/updates/20110906update.sql
index 0c3d871bcf..c0f2265b1e 100644
--- a/L2J_DataPack_BETA/dist/sql/game/updates/20110906update.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/updates/20110906update.sql
@@ -1,7 +1,14 @@
+ALTER TABLE `character_offline_trade_items` ADD KEY `charId` (`charId`);
+ALTER TABLE `character_offline_trade_items` ADD KEY `item` (`item`);
+
+ALTER TABLE `character_premium_items` ADD KEY `itemId` (`itemId`);
+
 ALTER TABLE `characters` ADD KEY `account_name` (`account_name`);
 ALTER TABLE `characters` ADD KEY `char_name` (`char_name`);
 ALTER TABLE `characters` ADD KEY `online` (`online`);
 
+ALTER TABLE `clan_data` ADD KEY `auction_bid_at` (`auction_bid_at`);
+
 ALTER TABLE `clan_subpledges` ADD KEY `leader_id` (`leader_id`);
 
 ALTER TABLE `clanhall` ADD KEY `ownerId` (`ownerId`);
@@ -9,6 +16,14 @@ ALTER TABLE `clanhall` ADD KEY `ownerId` (`ownerId`);
 ALTER TABLE `clan_wars` ADD KEY `clan1` (`clan1`);
 ALTER TABLE `clan_wars` ADD KEY `clan2` (`clan2`);
 
+ALTER TABLE `cursed_weapons` ADD KEY `charId` (`charId`);
+
+ALTER TABLE `fort` ADD KEY `owner` (`owner`);
+
+ALTER TABLE `forums` DROP KEY `forum_id`;
+ALTER TABLE `forums` ADD PRIMARY KEY (`forum_id`);
+ALTER TABLE `forums` ADD KEY `forum_owner_id` (`forum_owner_id`);
+
 ALTER TABLE `items` DROP KEY `key_owner_id`;
 ALTER TABLE `items` DROP KEY `key_loc`;
 ALTER TABLE `items` DROP KEY `key_item_id`;
@@ -19,4 +34,19 @@ ALTER TABLE `items` ADD KEY `loc` (`loc`);
 ALTER TABLE `items` ADD KEY `time_of_use` (`time_of_use`);
 
 ALTER TABLE `mods_wedding` ADD KEY `player1Id` (`player1Id`);
-ALTER TABLE `mods_wedding` ADD KEY `player2Id` (`player2Id`);
\ No newline at end of file
+ALTER TABLE `mods_wedding` ADD KEY `player2Id` (`player2Id`);
+
+ALTER TABLE `pets` ADD KEY `ownerId` (`ownerId`);
+
+ALTER TABLE `posts` ADD KEY `post_forum_id` (`post_forum_id`);
+
+ALTER TABLE `rainbowsprings_attacker_list` ADD KEY `clanid` (`clanid`);
+
+ALTER TABLE `siegable_clanhall` ADD KEY `ownerId` (`ownerId`);
+
+ALTER TABLE `siegable_hall_flagwar_attackers` ADD KEY `hall_id` (`hall_id`);
+ALTER TABLE `siegable_hall_flagwar_attackers` ADD KEY `clan_id` (`clan_id`);
+
+ALTER TABLE `siegable_hall_flagwar_attackers_members` ADD KEY `hall_id` (`hall_id`);
+ALTER TABLE `siegable_hall_flagwar_attackers_members` ADD KEY `clan_id` (`clan_id`);
+ALTER TABLE `siegable_hall_flagwar_attackers_members` ADD KEY `object_id` (`object_id`);
\ No newline at end of file
-- 
GitLab