Por que você acha que isso seria executado usando uma abordagem de loop aninhado?
Avalados por :
Olá a todos
Li a resposta anterior a esta pergunta que foi:
eliminar de sk1
onde (sk1. usuário , sk1.ubicación) em ( selecionar sk. usuário , sk.ubicación de sk);
infelizmente isso faz uma seleção para cada chave na tabela. Tenho que excluir 1.3b linhas de uma tabela de 2b linhas...
até o HANA leva muito tempo para executar 1.3b seleções...
Como podemos realmente unir com uma exclusão????
Obrigado
Doug
Por que você acha que isso seria executado usando uma abordagem de loop aninhado?
O que é AK agora?
Realmente não tenho ideia sobre o HANA e dar respostas que podem ou não funcionar em outros SGBDs?
Estou a favor de compartilhar conhecimento e experiência, mas compartilhar suposições não leva a lugar algum.
Olá Douglas,
Por favor, teste um dos códigos abaixo,
No MS SQL Server, o código abaixo funciona
delete sk1
using sk1 t1
inner join sk t2
on t1.user=t2.user e t1.location e t2.location
ou
No Oracle/MYSQL, a seguinte consulta SQL funciona
delete from sk1 t1
where exists
(select 1 from sk t2 where t1.user=t2.user e t1.location=t2.location).
Antes de fazer qualquer coisa, por favor faça um backup. Teste com um pequeno número de registros e implemente no conjunto de dados grande.
Saudações,
AK
Olá Doug,
Experimente o código abaixo. Vai funcionar.
delete from "MYDB"."TYS_TEST2" t1
where exists
(select 1 from "MYDB"."Tys_xref" t2 where t1.SOURCE_VALUE=t2.SOURCE_VALUE and t1.TARGET_VALUE=t2.TRAGET_VALUE);
Obrigado
kala
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute