das ganze ist eine mysql db...
habe da zwei tables
struktur:
Zitat:
CREATE TABLE `clan` (
`id` float NOT NULL auto_increment,
`cname` varchar(255) NOT NULL default '',
`gott` varchar(255) NOT NULL default '',
`miss` tinyint(1) NOT NULL default '0',
`uber` char(2) NOT NULL default '0',
`update` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`Bevölkerung` float NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=394 ;
CREATE TABLE `map` (
`id` int(11) NOT NULL default '0',
`tx` int(11) NOT NULL default '0',
`ty` int(11) NOT NULL default '0',
`cname` text NOT NULL,
`gt` int(11) NOT NULL default '0',
`nick` text NOT NULL,
`clan` text NOT NULL,
`rang` int(11) NOT NULL default '0',
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='test';
|
map(15 000 einträge größe < 1mb) und clan(zur zeit 200 einträge können maximal 15 000 einträge werden)
wenn ich dieses query ausführe
Zitat:
SELECT * FROM map LEFT JOIN clan ON map.cname = clan.cname ORDER by ty
|
braucht das 36.6018 sek das dauert mir zu lange...
map bleibt für 24 stunden immer gleich
clan kann sich jederzeit ändern...
und jetzt will ich dann später noch einen 3. table hinzujoinen...
meine frage wäre... benutz ich da den join falsch? oder gibts da ne andere möglichkeit die schneller ist?
geht da irgendwas mit index schneller...?