I've commited an optimized table structure for the whois cache to SVN today. It does exactly the same as before, just uses less memory to store the entries.
To update caches created with the old version use the following SQL query, just replace
whois with the tablename you use if needed.
Here is the ALTER query as text file for download.
Small warning: On large existing caches this query will take several minutes to run.
ALTER TABLE whois
DROP PRIMARY KEY,
DROP INDEX nickname,
ADD PRIMARY KEY (nickname),
CHANGE nickname nickname VARCHAR(15) NOT NULL DEFAULT '',
CHANGE firstname firstname VARCHAR(20) NOT NULL DEFAULT '',
CHANGE lastname lastname VARCHAR(20) NOT NULL DEFAULT '',
CHANGE level level TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
CHANGE gender gender ENUM('Female','Male','Neuter') NOT NULL DEFAULT 'Female',
CHANGE breed breed ENUM('Atrox','Nano','Opifex','Solitus') NOT NULL DEFAULT 'Atrox',
CHANGE faction faction ENUM('Clan','N/A','Neutral','Omni') NOT NULL DEFAULT 'Clan',
CHANGE profession profession ENUM('Adventurer','Agent','Bureaucrat','Doctor','Enforcer','Engineer','Fixer','Keeper','Martial Artist',
'Meta-Physicist','Nano-Technician','Shade','Soldier','Trader') NOT NULL DEFAULT 'Adventurer',
CHANGE defender_rank defender_rank ENUM('Able','Accomplished','Adept','Amateur','Backer','Beginner','Challenger','Champ','Common',
'Competent','Defender','Fair','Fledgling','Guardian','Hero','Intermediate','Medalist','Mediocre','Newcomer',
'None','Patron','Protector','Qualified','Starter','Student','Suited','Supporter','Talented','Trustworthy',
'Vanquisher','Vindicator') NOT NULL DEFAULT 'Able',
CHANGE defender_rank_id defender_rank_id ENUM('0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19',
'20','21','22','23','24','25','26','27','28','29','30') NOT NULL DEFAULT '0',
CHANGE org_id org_id bigint(10) NOT NULL DEFAULT '0',
CHANGE org_name org_name VARCHAR(50) NOT NULL DEFAULT '',
CHANGE org_rank org_rank VARCHAR(20) NOT NULL DEFAULT '',
CHANGE org_rank_id org_rank_id ENUM('0','1','2','3','4','5','6','7','8','9','10') NOT NULL DEFAULT '0',
ADD KEY ID (ID),
ADD KEY Profession (profession),
ADD KEY Faction (faction),
ADD KEY OrgID (org_id),
ADD KEY Orgname (org_name),
ADD KEY Level (level),
ADD KEY Alienlevel (defender_rank_id);