sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL+tabelpartitionering:ineffektiv max() og min()

Jeg ved ikke, om det vil virke, men du kan prøve dette:

Til den session kunne du deaktivere alle adgangsstrategier undtagen indekserede:

db=> set enable_seqscan = off;
db=> set enable_tidscan = off;
db=> -- your query goes here

På denne måde kun bitmapscan og indexscan ville være aktiveret. PostgreSQL har intet andet valg end at bruge indekser til at få adgang til data på bordet.

Når du har kørt din forespørgsel, skal du huske at genaktivere seqscan og tidscan ved at gøre:

db=> set enable_seqscan = on;
db=> set enable_tidscan = on;

Ellers vil disse adgangsstrategier blive deaktiveret for sessionen fra det tidspunkt.



  1. hvordan man undgår at få forkert ID

  2. Kan du ringe til en webservice fra TSQL-kode?

  3. Er der en hurtig måde at kontrollere, om NOGEN kolonne er NULL?

  4. Eksplicit deaktiver MySQL-forespørgselscache i nogle dele af programmet