TransWikia.com

Performance ao comparar campos Varchar no SQL Server

Stack Overflow em Português Asked by cmcampos86 on December 5, 2021

A SQL abaixo está causando muita lentidão pelo fato de eu usar o

Right(L.nrDiscado, Len(D.Descricao)) 

(acredito eu) para comparar com o campo D.Descricao:

create table #TempNrDiscado (NrDiscado varchar(150))

Insert into #TempNrDiscado
Select distinct L.nrDiscado from #TempLigacoes L with(nolock) 
   inner join GI_Dispositivo D with(nolock) on  
      Right(L.nrDiscado, Len(D.Descricao)) = D.Descricao

Alguém sabe alguma forma que eu poderia fazer essa comparação?

Observação: se eu colocar um número 10 no lugar do Len(D.Descricao) (Right(L.nrDiscado, Len(10)) ele vai rápido.

One Answer

acabei resolvendo isso tendo que trabalhar com algumas tabelas temporárias afim de obter um único valor para fazer o JOIN ao invés do Right(L.nrDiscado, Len(D.Descricao)) conforme dito aqui que causa muita lentidão.

A questão de trabalhar com a chave conforme foi dito aqui também, não é possível nesse caso, pois a forma de vínculo das informações é somente dessa forma.

Agradeço a todos pela ajuda!

Answered by cmcampos86 on December 5, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP