A AWS Redshift: excluir deixa de responder enquanto o "e não é verdade" cláusula apareceu

Eu executado um sql delete na aws-redshift, foi a execução por horas, mas ainda não terminou.

Eu tentei VACUUM a tabela a 100 por cento classificados, mas não faz sentido.

O mau sql é :

delete from tmp_table
    using my_table
    where (my_table.id = tmp_table.id)
    and (not true);

e troquei a estas duas tabelas, ainda pendurado.

delete from my_table
    using tmp_table
    where (my_table.id = tmp_table.id)
    and (not true);

Eu mesmo trocado a posição de condições e substituído not true por false não funciona.

Finalmente, eu encontrei este sql também trava:

delete from tmp_table using my_table where false;

E eu executados alguns outros sqls, que correu muito rápido:

select count(*) from tmp_table
join my_table
     on (my_table.id = tmp_table.id)
     and (not true);
delete from my_table
 using tmp_table
     where (my_table.id = tmp_table.id)
     and (true);

Eu sei que eu não preciso de executar sql delete causar a condição é sempre falsa e ele exclui nada. Eu só quero saber o que vai levar para o sql pendurado.

0
2019-09-17 11:13:16
origem
1 respostas

Existem alguns passos que você precisa fazer quando você deseja implantar a mudança do formato do frasco para a guerra.

1. Você precisa fazer o seu método main extends "SpringBootServletInitializer".

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
}

@Override 
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
    return builder.sources(SpringBootSampleApplication.class); 
}

Por favor, verifique com o recém-implementada a opção"configurar" do método.

2. Alterar o escopo de incorporar servlet.

Uma vez que você começar a usar a guerra, você não precisa usar o padrão do tomcat no springboot. Abra o seu pom.xml arquivo e alterar e adicionar esse conteúdo.

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-tomcat</artifactId> 
    <scope>provided</scope> 
</dependency>

Você precisa verificar o "escopo" estiver ajustado "previsto".

3. Pacote em "guerra".

Finalmente, você precisará do pacote de seu aplicativo no arquivo war. Por favor, abra sua pom.xml e alterar ou adicionar "embalagem" do valor.

<packaging>war</packaging>

Espero que a minha resposta vai ajudar você. Tenha um bom dia e codificação!

+0
2019-09-17 22:32:09

Veja mais perguntas por marcas