PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zmienić ręcznie plan wykonania zapytania w postgresql?

Użyj podzapytania lub CTE najpierw wymusić pewne operacje. Na przykład:

SELECT *
FROM  (
   SELECT *
   FROM   tbl
   LIMIT  10
   ) x
ORDER  BY 1;

Musisz zrozumieć co oczywiście robisz. W tym przykładzie wybieram 10 dowolnych wierszy, a następnie uporządkuj je według pierwszej kolumny.
Możesz użyć wielu warstw podzapytań lub wielu CTE w jednym wierszu.

Ten sam przykład co CTE:

WITH x AS (
   SELECT *
   FROM   tbl
   LIMIT  10
   )
SELECT *
FROM   x
ORDER  BY 1;

Podzapytanie jest zwykle szybsze w przypadku prostych zapytań, CTE oferuje dodatkowe funkcje (takie jak ponowne użycie tego samego CTE w wielu miejscach na różnych poziomach zapytań).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres — Konwertuj listę sąsiedztwa na zagnieżdżony obiekt JSON

  2. Zainstaluj psycopg2 na Ubuntu

  3. Jak współdziałają funkcje okna i klauzula group by?

  4. Funkcja SUM() w PostgreSQL

  5. Poprawna adnotacja JPA dla typu tekstu PostgreSQL bez adnotacji Hibernate