Usuário com melhor resposta
melhorar qualidade de query

Pergunta
-
Tenho uma query
onde em uma tabela tenho o produto com id produto
em outra a categoria do produto id produto e id categoria
e em uma outra o tipo de produto id tipo de produto, id produto
sendo que um produto pode conter diversas categoria
por exemplo produto AAA
produto categoria tipo
AAA ab 1
AAA xx 1
AAA xa 2
BBB yy 1
usaria o Inner join e pronto
a pergunta é existe uma maneira melhor para torna la mais rapida?
abraço
Respostas
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP terça-feira, 20 de dezembro de 2016 14:50
- Marcado como Resposta Robson William Silva quinta-feira, 22 de dezembro de 2016 11:01
Todas as Respostas
-
Para aumentar a performace vai depender de varios fatores,
vc pode fazer com JOINS sem problema , mas tambem pode fazer com o CROSS APPLY
segue o exemplo
DECLARE @Produtos TABLE ( produto VARCHAR(MAX) , idCategoria INT NOT NULL , tipo SMALLINT ); DECLARE @Categorias TABLE ( idCategoria INT , categoria VARCHAR(MAX) ); INSERT INTO @Categorias ( idCategoria, categoria ) VALUES ( 1, 'ab' ), ( 2, 'xx' ), ( 3, 'xa' ), ( 4, 'yy' ); INSERT INTO @Produtos ( produto, idCategoria, tipo ) VALUES ( 'AAA', 1, 1 ), ( 'AAA', 2, 1 ), ( 'AAA', 2, 2 ), ( 'BBB', 3, 1 ), ( 'BBB', 4, 1 ); SELECT P.produto , P.tipo, C.categoria FROM @Produtos AS P CROSS APPLY ( SELECT C.idCategoria , C.categoria FROM @Categorias AS C WHERE C.idCategoria = P.idCategoria ) AS C;
Wesley Neves
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP terça-feira, 20 de dezembro de 2016 14:50
- Marcado como Resposta Robson William Silva quinta-feira, 22 de dezembro de 2016 11:01
-
-