Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

200
Views
CREAR TABLA SIN DATOS es muy lento

Estoy ejecutando este comando SQL en PostgreSQL 11:

CREATE TABLE IF NOT EXISTS my_temp_table AS TABLE my_enormous_table WITH NO DATA;

Se tarda 5 minutos en hacer la nueva tabla.

El EXPLAIN ... es:

 Seq Scan on my_enormous_table (cost=0.00..35999196.34 rows=143407234 width=3278)

Moviéndose a una consulta como CREATE TABLE ... (SELECT * FROM my_enormous_table WHERE FALSE); es órdenes de magnitud más rápido: no hay escaneo de secuencia y el resultado es el mismo.

¿Alguna idea de qué podría estar causando este problema?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

WITH NO DATA aún ejecuta la consulta, simplemente ignora el resultado.

La mejor manera de hacerlo sería evitar CREATE TABLE ... AS :

 CREATE TABLE my_temp_table (LIKE my_enormous_table);

Eso también le permite usar la cláusula INCLUDING para copiar valores predeterminados, parámetros de almacenamiento, restricciones y otras cosas de la tabla original:

 CREATE TABLE my_temp_table (LIKE my_enormous_table INCLUDING CONSTRAINTS INCLUDING DEFAULTS);
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!