Optimering af mysql query
Hej eksperterSidder med en grim query, som *må* kunne optimeres...
Selve query'en er her:
SELECT t1.varname, t1.varvalue, t1.description, t1.mod_id, t1.locked, t2.modulename, t4.tpl_name
FROM config AS t1
LEFT JOIN modules AS t2 ON t1.mod_id = t2.id
LEFT JOIN tpl_mods AS t3 ON t2.id = t3.mod_id
LEFT JOIN tpl_page AS t4 ON t3.tpl_id = t4.id
De 4 tabeller den involverer er her:
#
# Struktur dump for tabellen `config`
#
CREATE TABLE config (
id smallint(5) unsigned NOT NULL auto_increment,
varname varchar(50) NOT NULL default '',
vartype varchar(50) NOT NULL default '',
varvalue text NOT NULL,
description varchar(255) NOT NULL default '',
mod_id smallint(5) unsigned NOT NULL default '0',
locked tinyint(1) NOT NULL default '0',
lastmodified timestamp(14) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uniquevars (varname,mod_id)
) TYPE=MyISAM COMMENT='Konfigurationsværdier til CMS systemet - brugerdel';
# --------------------------------------------------------
#
# Struktur dump for tabellen `modules`
#
CREATE TABLE modules (
id smallint(5) unsigned NOT NULL auto_increment,
modulename varchar(100) NOT NULL default '',
filename varchar(100) NOT NULL default '',
classname varchar(100) NOT NULL default '',
description varchar(255) NOT NULL default '',
help text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='PHP moduler der kan tilknyttes til websiderne - brugerdel';
# --------------------------------------------------------
#
# Struktur dump for tabellen `tpl_mods`
#
CREATE TABLE tpl_mods (
id smallint(5) unsigned NOT NULL auto_increment,
tpl_id smallint(5) unsigned NOT NULL default '0',
mod_id smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Hvilke moduler skal hentes til hvilke templates?';
# --------------------------------------------------------
#
# Struktur dump for tabellen `tpl_page`
#
CREATE TABLE tpl_page (
id smallint(5) unsigned NOT NULL auto_increment,
tpl_name varchar(100) NOT NULL default '',
tpl_title varchar(255) NOT NULL default '',
source text NOT NULL,
secure tinyint(1) NOT NULL default '1',
trusted tinyint(1) NOT NULL default '1',
timestamp timestamp(14) NOT NULL,
active tinyint(1) NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Skabeloner til websider - brugerdel';
Håber I kan hjælpe med nogle gode forslag - også gerne links til lidt læsestof, så jeg selv kan løse problemerne næste gang!
