PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menggunakan tabel sementara untuk menggantikan klausa WHERE IN

Tidak perlu khawatir tentang konflik.

Skema pg_temp adalah khusus sesi. Jika Anda memiliki pernyataan bersamaan dalam sesi terpisah, itu akan menggunakan skema yang berbeda (meskipun Anda melihatnya memiliki nama yang sama).

Namun, dua catatan:

  1. Setiap kali Anda membuat objek sementara, katalog sistem membuat skema sementara dan objek itu sendiri. Hal ini dapat menyebabkan kekacauan jika sering digunakan.

    Jadi, untuk set kecil/penggunaan sering, biasanya lebih baik tetap menggunakan in atau with pernyataan (keduanya diatasi dengan baik oleh Postgres). Terkadang juga berguna untuk "menipu" perencana agar menggunakan paket mana pun yang Anda cari dengan menggunakan fungsi pengembalian set yang tidak dapat diubah.

  2. Jika Anda memutuskan untuk benar-benar menggunakan tabel sementara, biasanya lebih baik untuk mengindeks dan menganalisisnya setelah Anda mengisinya. Jika tidak, Anda hanya melakukan sedikit lebih dari sekadar menulis with pernyataan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyiapkan Play 2.4.0 dengan Postgres dan HikariCP menghasilkan kesalahan konfigurasi

  2. Pembaruan postgres dari kiri bergabung

  3. Bagaimana cara menggunakan beberapa pernyataan WITH dalam satu kueri PostgreSQL?

  4. Menggabungkan rekor bergabung terbaru per minggu

  5. Postgres gagal dengan 'tidak dapat membuka file pemetaan relasi global/pg_filenode.map'