stview 0 Denunciar post Postado Abril 19, 2005 Tenho a seguinte query: "SELECT p.*, c.idcategoriaFROM produto p, categoria c, subcategoria cs WHERE p.idsubcategoria=cs.idsubcategoria AND cs.idcategoria=c.idcategoria AND p.idproduto='$_GET[id]'"; A base das tabelas são: CREATE TABLE `categoria` ( idcategoria INT unsigned NOT NULL auto_increment, Nome varchar(160) default NULL, PRIMARY KEY (idcategoria) ) TYPE=InnoDB AUTO_INCREMENT=2; CREATE TABLE `subcategoria` ( idsubcategoria INT unsigned NOT NULL auto_increment, idcategoria INT unsigned NOT NULL default '1', Nome VARCHAR(160) default NULL, PRIMARY KEY (idsubcategoria), INDEX icat (idcategoria), FOREIGN KEY (idcategoria) REFERENCES categoria(idcategoria) ON DELETE CASCADE ) TYPE=InnoDB AUTO_INCREMENT=2; CREATE TABLE `produto` ( idproduto INT unsigned NOT NULL auto_increment, idsubcategoria INT unsigned NOT NULL, Nome varchar(160) default NULL, PRIMARY KEY (idproduto) INDEX iscat (idsubcategoria), FOREIGN KEY (idsubcategoria) REFERENCES subcategoria(idsubcategoria) ON DELETE CASCADE ) TYPE=InnoDB AUTO_INCREMENT=2; Existe alguma maneira de otimizar esta query? Compartilhar este post Link para o post Compartilhar em outros sites
ska_ska 0 Denunciar post Postado Abril 22, 2005 veja em http://dev.mysql.com/doc/mysql/pt/query-speed.html mas um LIMIT para paginação do tipo LIMIT 20,10 '---EXIBIDO DO 21 AO 30 REGISTRO ou para exibir um único registro LIMIT 1 já iria melhorar muito sua consulta Compartilhar este post Link para o post Compartilhar em outros sites
stview 0 Denunciar post Postado Abril 22, 2005 Pra um só ..Eu to conhecendo chave esreng agora .. então não sei direito todas as utilidades dela ... Compartilhar este post Link para o post Compartilhar em outros sites